{
"openapi": "3.1.0",
"info": {
"title": "OpenStudyBuilder API",
"description": "\n## NOTICE\n\nThis license information is applicable to the swagger documentation of the clinical-mdr-api, that is the openapi.json.\n\n## License Terms (MIT)\n\nCopyright (C) 2025 Novo Nordisk A/S, Danish company registration no. 24256790\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n## Licenses and Acknowledgements for Incorporated Software\n\nThis component contains software licensed under different licenses when compiled, please refer to the third-party-licenses.md file for further information and full license texts.\n\n## Authentication\n\nSupports OAuth2 [Authorization Code Flow](https://datatracker.ietf.org/doc/html/rfc6749#section-4.1),\nat paths described in the OpenID Connect Discovery metadata document (whose URL is defined by the `OAUTH_METADATA_URL` environment variable).\n\nMicrosoft Identity Platform documentation can be read \n([here](https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-auth-code-flow)).\n\nAuthentication can be turned off with `OAUTH_ENABLED=false` environment variable. \n\nWhen authentication is turned on, all requests to protected API endpoints must provide a valid bearer (JWT) token inside the `Authorization` http header. \n",
"version": "3.0.657"
},
"paths": {
"/": {
"get": {
"tags": [
"System"
],
"summary": "Root",
"operationId": "root__get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"text/html": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/system/information": {
"get": {
"tags": [
"System"
],
"summary": "Returns various information about this API (running version, etc.)",
"operationId": "get_system_information_system_information_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SystemInformation"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/system/information/build-id": {
"get": {
"tags": [
"System"
],
"summary": "Returns build id as plain text",
"operationId": "get_build_id_system_information_build_id_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/system/healthcheck": {
"get": {
"tags": [
"System"
],
"summary": "Returns 200 OK status if the system is ready to serve requests",
"operationId": "healthcheck_system_healthcheck_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"text/plain": {
"schema": {
"type": "string"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/system/information/sbom.md": {
"get": {
"tags": [
"System"
],
"summary": "Returns SBOM as markdown text",
"operationId": "get_sbom_md_system_information_sbom_md_get",
"responses": {
"200": {
"description": "Successful Response"
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/system/information/license.md": {
"get": {
"tags": [
"System"
],
"summary": "Returns license as markdown text",
"operationId": "get_license_md_system_information_license_md_get",
"responses": {
"200": {
"description": "Successful Response"
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/user-preferences": {
"get": {
"tags": [
"User Preferences"
],
"summary": "Returns user preferences",
"operationId": "get_user_preferences_user_preferences_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserPreferencesResponse"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"patch": {
"tags": [
"User Preferences"
],
"summary": "Update user preferences",
"description": "Update one or more user preference settings",
"operationId": "patch_user_preferences_user_preferences_patch",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserPreferencesPatchInput"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserPreferencesResponse"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/user-preferences/{preference_key}": {
"delete": {
"tags": [
"User Preferences"
],
"summary": "Delete user preference",
"description": "Reset a user preference to global default by deleting the user override",
"operationId": "delete_user_preference_user_preferences__preference_key__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "preference_key",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Preference Key"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserPreferencesResponse"
}
}
}
},
"401": {
"description": "Unauthorized",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/feature-flags": {
"get": {
"tags": [
"Feature Flags"
],
"summary": "Returns all feature flags.",
"operationId": "get_all_feature_flags_feature_flags_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/FeatureFlag"
},
"type": "array",
"title": "Response Get All Feature Flags Feature Flags Get"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Feature Flags"
],
"summary": "Creates a feature flag.",
"operationId": "create_feature_flag_feature_flags_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureFlagInput"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureFlag"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/feature-flags/{serial_number}": {
"get": {
"tags": [
"Feature Flags"
],
"summary": "Returns the feature flag identified by the provided Serial Number.",
"operationId": "get_feature_flag_feature_flags__serial_number__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "serial_number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Serial Number of the feature flag"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureFlag"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Feature Flags"
],
"summary": "Updates the feature flag identified by the provided Serial Number.",
"operationId": "update_feature_flag_feature_flags__serial_number__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "serial_number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Serial Number of the feature flag"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureFlagPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FeatureFlag"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Feature Flags"
],
"summary": "Deletes the feature flag identified by the provided Serial Number.",
"operationId": "delete_feature_flag_feature_flags__serial_number__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "serial_number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Serial Number of the feature flag"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/data-completeness-tags": {
"get": {
"tags": [
"Data Completeness Tags"
],
"summary": "Returns all data completeness tags.",
"operationId": "get_all_data_completeness_tags_data_completeness_tags_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/DataCompletenessTag"
},
"type": "array",
"title": "Response Get All Data Completeness Tags Data Completeness Tags Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"post": {
"tags": [
"Data Completeness Tags"
],
"summary": "Creates a data completeness tag.",
"operationId": "create_data_completeness_tag_data_completeness_tags_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCompletenessTagInput"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCompletenessTag"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/data-completeness-tags/{uid}": {
"put": {
"tags": [
"Data Completeness Tags"
],
"summary": "Updates the data completeness tag identified by the provided UID.",
"operationId": "update_data_completeness_tag_data_completeness_tags__uid__put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "UID of the data completeness tag"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCompletenessTagInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCompletenessTag"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Data Completeness Tags"
],
"summary": "Deletes the data completeness tag identified by the provided UID.",
"operationId": "delete_data_completeness_tag_data_completeness_tags__uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "UID of the data completeness tag"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/notifications": {
"get": {
"tags": [
"Notifications"
],
"summary": "Returns all notifications.",
"operationId": "get_all_notifications_notifications_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Notification"
},
"type": "array",
"title": "Response Get All Notifications Notifications Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"post": {
"tags": [
"Notifications"
],
"summary": "Creates a notification.",
"operationId": "create_notification_notifications_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotificationPostInput"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Notification"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/notifications/actives": {
"get": {
"tags": [
"Notifications"
],
"summary": "Returns all notifications that are currently published and active.",
"operationId": "get_all_active_notifications_notifications_actives_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Notification"
},
"type": "array",
"title": "Response Get All Active Notifications Notifications Actives Get"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/notifications/{serial_number}": {
"get": {
"tags": [
"Notifications"
],
"summary": "Returns the notification identified by the provided Serial Number.",
"operationId": "get_notification_notifications__serial_number__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "serial_number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Serial Number of the notification"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Notification"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Notifications"
],
"summary": "Updates the notification identified by the provided Serial Number.",
"operationId": "update_notification_notifications__serial_number__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "serial_number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Serial Number of the notification"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotificationPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Notification"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Notifications"
],
"summary": "Deletes the notification identified by the provided Serial Number.",
"operationId": "delete_notification_notifications__serial_number__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "serial_number",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Serial Number of the notification"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/iso/639": {
"get": {
"tags": [
"ISO Standards"
],
"summary": "Get ISO 639 Languages",
"description": "Get a list of ISO 639 languages with their codes.\n\nThe list includes the language name, ISO 639-1 code and ISO 639-2T code.",
"operationId": "get_iso_languages_iso_639_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/ISOLanguageModel"
},
"type": "array",
"title": "Response Get Iso Languages Iso 639 Get"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/odms/study-events": {
"get": {
"tags": [
"ODM Study Events"
],
"summary": "Return every variable related to the selected status and version of the ODM Study Events",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_odm_study_events_odms_study_events_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmStudyEvent_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Study Events"
],
"summary": "Creates a new Study Event in 'Draft' status with version 0.1",
"operationId": "create_odm_study_event_odms_study_events_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEventPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Study Event was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEvent"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/study-events/headers": {
"get": {
"tags": [
"ODM Study Events"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_study_events_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Study Events Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/study-events/{odm_study_event_uid}": {
"get": {
"tags": [
"ODM Study Events"
],
"summary": "Get details on a specific ODM Study Event (in a specific version)",
"operationId": "get_odm_study_event_odms_study_events__odm_study_event_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEvent"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Study Events"
],
"summary": "Update ODM Study Event",
"operationId": "edit_odm_study_event_odms_study_events__odm_study_event_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEventPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEvent"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Study Event is not in draft status.\n- The ODM Study Event had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Study Event with the specified 'odm_study_event_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Study Events"
],
"summary": "Delete draft version of ODM Study Event",
"operationId": "delete_odm_study_event_odms_study_events__odm_study_event_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Study Event was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Study Event is not in draft status.\n- The ODM Study Event was already in final state or is in use.\n- The library doesn't allow to delete ODM Study Event.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Study Event with the specified 'odm_study_event_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/study-events/{odm_study_event_uid}/relationships": {
"get": {
"tags": [
"ODM Study Events"
],
"summary": "Get UIDs of a specific ODM Study Event's relationships",
"operationId": "get_active_relationships_odms_study_events__odm_study_event_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Study Events Odm Study Event Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/study-events/{odm_study_event_uid}/versions": {
"get": {
"tags": [
"ODM Study Events"
],
"summary": "List version history for ODM Study Event",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Study Events.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_study_event_versions_odms_study_events__odm_study_event_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmStudyEvent"
},
"title": "Response Get Odm Study Event Versions Odms Study Events Odm Study Event Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Study Event with the specified 'odm_study_event_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Study Events"
],
"summary": " Create a new version of ODM Study Event",
"description": "State before:\n - uid must exist and the ODM Study Event must be in status Final.\n\nBusiness logic:\n- The ODM Study Event is changed to a draft state.\n\nState after:\n - ODM Study Event changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_study_event_version_odms_study_events__odm_study_event_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
},
{
"name": "cascade_new_version",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If true, all child elements will also get a new version.",
"default": false,
"title": "Cascade New Version"
},
"description": "If true, all child elements will also get a new version."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEvent"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Study Events.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Study Event is not in final status.\n- The ODM Study Event with the specified 'odm_study_event_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/study-events/{odm_study_event_uid}/approvals": {
"post": {
"tags": [
"ODM Study Events"
],
"summary": "Approve draft version of ODM Study Event",
"operationId": "approve_odm_study_event_odms_study_events__odm_study_event_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEvent"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Study Event is not in draft status.\n- The library doesn't allow to approve ODM Study Event.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Study Event with the specified 'odm_study_event_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/study-events/{odm_study_event_uid}/activations": {
"delete": {
"tags": [
"ODM Study Events"
],
"summary": " Inactivate final version of ODM Study Event",
"operationId": "inactivate_odm_study_event_odms_study_events__odm_study_event_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEvent"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Study Event is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Study Event with the specified 'odm_study_event_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Study Events"
],
"summary": "Reactivate retired version of a ODM Study Event",
"operationId": "reactivate_odm_study_event_odms_study_events__odm_study_event_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEvent"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Study Event is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Study Event with the specified 'odm_study_event_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/study-events/{odm_study_event_uid}/forms": {
"post": {
"tags": [
"ODM Study Events"
],
"summary": "Adds forms to the ODM Study Event.",
"operationId": "add_forms_to_odm_study_event_odms_study_events__odm_study_event_uid__forms_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_study_event_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Study Event.",
"title": "Odm Study Event Uid"
},
"description": "The unique id of the ODM Study Event."
},
{
"name": "override",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "\nWhen true, replaces all existing item relationships with the provided ones.\nWhen false, appends the provided item relationships to existing ones, continuing the order sequence.\n ",
"default": false,
"title": "Override"
},
"description": "\nWhen true, replaces all existing item relationships with the provided ones.\nWhen false, appends the provided item relationships to existing ones, continuing the order sequence.\n "
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmStudyEventFormPostInput"
},
"title": "Odm Study Event Form Post Input"
}
}
}
},
"responses": {
"201": {
"description": "Created - The forms were successfully added to the ODM Study Event.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmStudyEvent"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The forms with the specified 'odm_study_event_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/forms": {
"get": {
"tags": [
"ODM Forms"
],
"summary": "Return every variable related to the selected status and version of the ODM Forms",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_odm_forms_odms_forms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmForm_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Forms"
],
"summary": "Creates a new Form in 'Draft' status with version 0.1",
"operationId": "create_odm_form_odms_forms_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmFormPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Form was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmForm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/forms/headers": {
"get": {
"tags": [
"ODM Forms"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_forms_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Forms Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/forms/study-events": {
"get": {
"tags": [
"ODM Forms"
],
"summary": "Get all ODM Forms that belongs to an ODM Study Event",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_odm_form_that_belongs_to_study_event_odms_forms_study_events_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/OdmElementWithParentUid"
},
"type": "array",
"title": "Response Get Odm Form That Belongs To Study Event Odms Forms Study Events Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/odms/forms/{odm_form_uid}": {
"get": {
"tags": [
"ODM Forms"
],
"summary": "Get details on a specific ODM Form (in a specific version)",
"operationId": "get_odm_form_odms_forms__odm_form_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmForm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Forms"
],
"summary": "Update ODM Form",
"operationId": "edit_odm_form_odms_forms__odm_form_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmFormPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmForm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Form is not in draft status.\n- The ODM Form had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Form with the specified 'odm_form_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Forms"
],
"summary": "Delete draft version of ODM Form",
"operationId": "delete_odm_form_odms_forms__odm_form_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Form was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Form is not in draft status.\n- The ODM Form was already in final state or is in use.\n- The library doesn't allow to delete ODM Form.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Form with the specified 'odm_form_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/forms/{odm_form_uid}/relationships": {
"get": {
"tags": [
"ODM Forms"
],
"summary": "Get UIDs of a specific ODM Form's relationships",
"operationId": "get_active_relationships_odms_forms__odm_form_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Forms Odm Form Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/forms/{odm_form_uid}/versions": {
"get": {
"tags": [
"ODM Forms"
],
"summary": "List version history for ODM Form",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Forms.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_form_versions_odms_forms__odm_form_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmForm"
},
"title": "Response Get Odm Form Versions Odms Forms Odm Form Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Form with the specified 'odm_form_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Forms"
],
"summary": " Create a new version of ODM Form",
"description": "State before:\n - uid must exist and the ODM Form must be in status Final.\n\nBusiness logic:\n- The ODM Form is changed to a draft state.\n\nState after:\n - ODM Form changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_form_version_odms_forms__odm_form_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
},
{
"name": "cascade_new_version",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If true, all child elements will also get a new version.",
"default": false,
"title": "Cascade New Version"
},
"description": "If true, all child elements will also get a new version."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmForm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Forms.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Form is not in final status.\n- The ODM Form with the specified 'odm_form_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/forms/{odm_form_uid}/approvals": {
"post": {
"tags": [
"ODM Forms"
],
"summary": "Approve draft version of ODM Form",
"operationId": "approve_odm_form_odms_forms__odm_form_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmForm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Form is not in draft status.\n- The library doesn't allow to approve ODM Form.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Form with the specified 'odm_form_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/forms/{odm_form_uid}/activations": {
"delete": {
"tags": [
"ODM Forms"
],
"summary": " Inactivate final version of ODM Form",
"operationId": "inactivate_odm_form_odms_forms__odm_form_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmForm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Form is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Form with the specified 'odm_form_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Forms"
],
"summary": "Reactivate retired version of a ODM Form",
"operationId": "reactivate_odm_form_odms_forms__odm_form_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmForm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Form is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Form with the specified 'odm_form_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/forms/{odm_form_uid}/item-groups": {
"post": {
"tags": [
"ODM Forms"
],
"summary": "Adds item groups to the ODM Form.",
"operationId": "add_item_groups_to_odm_form_odms_forms__odm_form_uid__item_groups_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_form_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Form.",
"title": "Odm Form Uid"
},
"description": "The unique id of the ODM Form."
},
{
"name": "override",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "\nWhen true, replaces all existing item relationships with the provided ones. \nWhen false, appends the provided item relationships to existing ones, continuing the order sequence.\n ",
"default": false,
"title": "Override"
},
"description": "\nWhen true, replaces all existing item relationships with the provided ones. \nWhen false, appends the provided item relationships to existing ones, continuing the order sequence.\n "
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmFormItemGroupPostInput"
},
"title": "Odm Form Item Group Post Input"
}
}
}
},
"responses": {
"201": {
"description": "Created - The item groups were successfully added to the ODM Form.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmForm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The item groups with the specified 'odm_form_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/item-groups": {
"get": {
"tags": [
"ODM Item Groups"
],
"summary": "Return every variable related to the selected status and version of the ODM Item Groups",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_odm_item_groups_odms_item_groups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmItemGroup_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Item Groups"
],
"summary": "Creates a new Item Group in 'Draft' status with version 0.1",
"operationId": "create_odm_item_group_odms_item_groups_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroupPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Item Group was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/item-groups/headers": {
"get": {
"tags": [
"ODM Item Groups"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_item_groups_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Item Groups Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/item-groups/forms": {
"get": {
"tags": [
"ODM Item Groups"
],
"summary": "Get all ODM Item Groups that belongs to an ODM Form",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_odm_item_group_that_belongs_to_form_odms_item_groups_forms_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/OdmElementWithParentUid"
},
"type": "array",
"title": "Response Get Odm Item Group That Belongs To Form Odms Item Groups Forms Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/odms/item-groups/{odm_item_group_uid}": {
"get": {
"tags": [
"ODM Item Groups"
],
"summary": "Get details on a specific ODM Item Group (in a specific version)",
"operationId": "get_odm_item_group_odms_item_groups__odm_item_group_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Item Groups"
],
"summary": "Update ODM Item Group",
"operationId": "edit_odm_item_group_odms_item_groups__odm_item_group_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroupPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item Group is not in draft status.\n- The ODM Item Group had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item Group with the specified 'odm_item_group_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Item Groups"
],
"summary": "Delete draft version of ODM Item Group",
"operationId": "delete_odm_item_group_odms_item_groups__odm_item_group_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Item Group was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item Group is not in draft status.\n- The ODM Item Group was already in final state or is in use.\n- The library doesn't allow to delete ODM Item Group.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Item Group with the specified 'odm_item_group_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/item-groups/{odm_item_group_uid}/relationships": {
"get": {
"tags": [
"ODM Item Groups"
],
"summary": "Get UIDs of a specific ODM Item Group's relationships",
"operationId": "get_active_relationships_odms_item_groups__odm_item_group_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Item Groups Odm Item Group Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/item-groups/{odm_item_group_uid}/versions": {
"get": {
"tags": [
"ODM Item Groups"
],
"summary": "List version history for ODM Item Group",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Item Groups.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_item_group_versions_odms_item_groups__odm_item_group_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmItemGroup"
},
"title": "Response Get Odm Item Group Versions Odms Item Groups Odm Item Group Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item Group with the specified 'odm_item_group_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Item Groups"
],
"summary": " Create a new version of ODM Item Group",
"description": "State before:\n - uid must exist and the ODM Item Group must be in status Final.\n\nBusiness logic:\n- The ODM Item Group is changed to a draft state.\n\nState after:\n - ODM Item Group changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_item_group_version_odms_item_groups__odm_item_group_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
},
{
"name": "cascade_new_version",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If true, all child elements will also get a new version.",
"default": false,
"title": "Cascade New Version"
},
"description": "If true, all child elements will also get a new version."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Item Groups.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Item Group is not in final status.\n- The ODM Item Group with the specified 'odm_item_group_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/item-groups/{odm_item_group_uid}/approvals": {
"post": {
"tags": [
"ODM Item Groups"
],
"summary": "Approve draft version of ODM Item Group",
"operationId": "approve_odm_item_group_odms_item_groups__odm_item_group_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item Group is not in draft status.\n- The library doesn't allow to approve ODM Item Group.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item Group with the specified 'odm_item_group_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/item-groups/{odm_item_group_uid}/activations": {
"delete": {
"tags": [
"ODM Item Groups"
],
"summary": " Inactivate final version of ODM Item Group",
"operationId": "inactivate_odm_item_group_odms_item_groups__odm_item_group_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item Group is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item Group with the specified 'odm_item_group_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Item Groups"
],
"summary": "Reactivate retired version of a ODM Item Group",
"operationId": "reactivate_odm_item_group_odms_item_groups__odm_item_group_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item Group is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item Group with the specified 'odm_item_group_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/item-groups/{odm_item_group_uid}/items": {
"post": {
"tags": [
"ODM Item Groups"
],
"summary": "Adds items to the ODM Item Group.",
"operationId": "add_item_to_odm_item_group_odms_item_groups__odm_item_group_uid__items_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item Group.",
"title": "Odm Item Group Uid"
},
"description": "The unique id of the ODM Item Group."
},
{
"name": "override",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "\nWhen true, replaces all existing item relationships with the provided ones. \nWhen false, appends the provided item relationships to existing ones, continuing the order sequence.\n ",
"default": false,
"title": "Override"
},
"description": "\nWhen true, replaces all existing item relationships with the provided ones. \nWhen false, appends the provided item relationships to existing ones, continuing the order sequence.\n "
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmItemGroupItemPostInput"
},
"title": "Odm Item Group Item Post Input"
}
}
}
},
"responses": {
"201": {
"description": "Created - The items were successfully added to the ODM Item Group.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The items with the specified 'odm_item_group_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/items": {
"get": {
"tags": [
"ODM Items"
],
"summary": "Return every variable related to the selected status and version of the ODM Items",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_odm_items_odms_items_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmItem_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Items"
],
"summary": "Creates a new Item in 'Draft' status with version 0.1",
"operationId": "create_odm_item_odms_items_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Item was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/items/headers": {
"get": {
"tags": [
"ODM Items"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_items_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Items Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/items/item-groups": {
"get": {
"tags": [
"ODM Items"
],
"summary": "Get all ODM Items that belongs to an ODM Item Group",
"operationId": "get_odm_items_that_belongs_to_item_group_odms_items_item_groups_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/OdmElementWithParentUid"
},
"type": "array",
"title": "Response Get Odm Items That Belongs To Item Group Odms Items Item Groups Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/odms/items/{odm_item_uid}": {
"get": {
"tags": [
"ODM Items"
],
"summary": "Get details on a specific ODM Item (in a specific version)",
"operationId": "get_odm_item_odms_items__odm_item_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Items"
],
"summary": "Update ODM Item",
"operationId": "edit_odm_item_odms_items__odm_item_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItemPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item is not in draft status.\n- The ODM Item had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item with the specified 'odm_item_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Items"
],
"summary": "Delete draft version of ODM Item",
"operationId": "delete_odm_item_odms_items__odm_item_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Item was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item is not in draft status.\n- The ODM Item was already in final state or is in use.\n- The library doesn't allow to delete ODM Item.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Item with the specified 'odm_item_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/items/{odm_item_uid}/relationships": {
"get": {
"tags": [
"ODM Items"
],
"summary": "Get UIDs of a specific ODM Item's relationships",
"operationId": "get_active_relationships_odms_items__odm_item_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Items Odm Item Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/items/{odm_item_uid}/versions": {
"get": {
"tags": [
"ODM Items"
],
"summary": "List version history for ODM Item",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Items.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_item_versions_odms_items__odm_item_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmItem"
},
"title": "Response Get Odm Item Versions Odms Items Odm Item Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item with the specified 'odm_item_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Items"
],
"summary": " Create a new version of ODM Item",
"description": "State before:\n - uid must exist and the ODM Item must be in status Final.\n\nBusiness logic:\n- The ODM Item is changed to a draft state.\n\nState after:\n - ODM Item changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_item_version_odms_items__odm_item_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Item is not in final status.\n- The ODM Item with the specified 'odm_item_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/items/{odm_item_uid}/approvals": {
"post": {
"tags": [
"ODM Items"
],
"summary": "Approve draft version of ODM Item",
"operationId": "approve_odm_item_odms_items__odm_item_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item is not in draft status.\n- The library doesn't allow to approve ODM Item.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item with the specified 'odm_item_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/items/{odm_item_uid}/activations": {
"delete": {
"tags": [
"ODM Items"
],
"summary": " Inactivate final version of ODM Item",
"operationId": "inactivate_odm_item_odms_items__odm_item_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item with the specified 'odm_item_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Items"
],
"summary": "Reactivate retired version of a ODM Item",
"operationId": "reactivate_odm_item_odms_items__odm_item_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_item_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Item.",
"title": "Odm Item Uid"
},
"description": "The unique id of the ODM Item."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmItem"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Item is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Item with the specified 'odm_item_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/conditions": {
"get": {
"tags": [
"ODM Conditions"
],
"summary": "Return every variable related to the selected status and version of the ODM Conditions",
"operationId": "get_all_odm_conditions_odms_conditions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmCondition_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Conditions"
],
"summary": "Creates a new Condition in 'Draft' status with version 0.1",
"operationId": "create_odm_condition_odms_conditions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmConditionPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Condition was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmCondition"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/conditions/headers": {
"get": {
"tags": [
"ODM Conditions"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_conditions_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Conditions Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/conditions/{odm_condition_uid}": {
"get": {
"tags": [
"ODM Conditions"
],
"summary": "Get details on a specific ODM Condition (in a specific version)",
"operationId": "get_odm_condition_odms_conditions__odm_condition_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmCondition"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Conditions"
],
"summary": "Update ODM Condition",
"operationId": "edit_odm_condition_odms_conditions__odm_condition_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmConditionPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmCondition"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Condition is not in draft status.\n- The ODM Condition had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Condition with the specified 'odm_condition_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Conditions"
],
"summary": "Delete draft version of ODM Condition",
"operationId": "delete_odm_condition_odms_conditions__odm_condition_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Condition was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Condition is not in draft status.\n- The ODM Condition was already in final state or is in use.\n- The library doesn't allow to delete ODM Condition.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Condition with the specified 'odm_condition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/conditions/{odm_condition_uid}/relationships": {
"get": {
"tags": [
"ODM Conditions"
],
"summary": "Get UIDs of a specific ODM Condition's relationships",
"operationId": "get_active_relationships_odms_conditions__odm_condition_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Conditions Odm Condition Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/conditions/{odm_condition_uid}/versions": {
"get": {
"tags": [
"ODM Conditions"
],
"summary": "List version history for ODM Condition",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Conditions.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_condition_versions_odms_conditions__odm_condition_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmCondition"
},
"title": "Response Get Odm Condition Versions Odms Conditions Odm Condition Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Condition with the specified 'odm_condition_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Conditions"
],
"summary": " Create a new version of ODM Condition",
"description": "State before:\n - uid must exist and the ODM Condition must be in status Final.\n\nBusiness logic:\n- The ODM Condition is changed to a draft state.\n\nState after:\n - ODM Condition changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_condition_version_odms_conditions__odm_condition_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmCondition"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Conditions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Condition is not in final status.\n- The ODM Condition with the specified 'odm_condition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/conditions/{odm_condition_uid}/approvals": {
"post": {
"tags": [
"ODM Conditions"
],
"summary": "Approve draft version of ODM Condition",
"operationId": "approve_odm_condition_odms_conditions__odm_condition_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmCondition"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Condition is not in draft status.\n- The library doesn't allow to approve ODM Condition.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Condition with the specified 'odm_condition_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/conditions/{odm_condition_uid}/activations": {
"delete": {
"tags": [
"ODM Conditions"
],
"summary": " Inactivate final version of ODM Condition",
"operationId": "inactivate_odm_condition_odms_conditions__odm_condition_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmCondition"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Condition is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Condition with the specified 'odm_condition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Conditions"
],
"summary": "Reactivate retired version of a ODM Condition",
"operationId": "reactivate_odm_condition_odms_conditions__odm_condition_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_condition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Condition.",
"title": "Odm Condition Uid"
},
"description": "The unique id of the ODM Condition."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmCondition"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Condition is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Condition with the specified 'odm_condition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/methods": {
"get": {
"tags": [
"ODM Methods"
],
"summary": "Return every variable related to the selected status and version of the ODM Methods",
"operationId": "get_all_odm_methods_odms_methods_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmMethod_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Methods"
],
"summary": "Creates a new Method in 'Draft' status with version 0.1",
"operationId": "create_odm_method_odms_methods_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethodPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Method was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethod"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/methods/headers": {
"get": {
"tags": [
"ODM Methods"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_methods_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Methods Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/methods/{odm_method_uid}": {
"get": {
"tags": [
"ODM Methods"
],
"summary": "Get details on a specific ODM Method (in a specific version)",
"operationId": "get_odm_method_odms_methods__odm_method_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethod"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Methods"
],
"summary": "Update ODM Method",
"operationId": "edit_odm_method_odms_methods__odm_method_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethodPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethod"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Method is not in draft status.\n- The ODM Method had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Method with the specified 'odm_method_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Methods"
],
"summary": "Delete draft version of ODM Method",
"operationId": "delete_odm_method_odms_methods__odm_method_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Method was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Method is not in draft status.\n- The ODM Method was already in final state or is in use.\n- The library doesn't allow to delete ODM Method.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Method with the specified 'odm_method_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/methods/{odm_method_uid}/relationships": {
"get": {
"tags": [
"ODM Methods"
],
"summary": "Get UIDs of a specific ODM Method's relationships",
"operationId": "get_active_relationships_odms_methods__odm_method_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Methods Odm Method Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/methods/{odm_method_uid}/versions": {
"get": {
"tags": [
"ODM Methods"
],
"summary": "List version history for ODM Method",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Methods.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_method_versions_odms_methods__odm_method_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmMethod"
},
"title": "Response Get Odm Method Versions Odms Methods Odm Method Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Method with the specified 'odm_method_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Methods"
],
"summary": " Create a new version of ODM Method",
"description": "State before:\n - uid must exist and the ODM Method must be in status Final.\n\nBusiness logic:\n- The ODM Method is changed to a draft state.\n\nState after:\n - ODM Method changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_method_version_odms_methods__odm_method_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethod"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Methods.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Method is not in final status.\n- The ODM Method with the specified 'odm_method_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/methods/{odm_method_uid}/approvals": {
"post": {
"tags": [
"ODM Methods"
],
"summary": "Approve draft version of ODM Method",
"operationId": "approve_odm_method_odms_methods__odm_method_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethod"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Method is not in draft status.\n- The library doesn't allow to approve ODM Method.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Method with the specified 'odm_method_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/methods/{odm_method_uid}/activations": {
"delete": {
"tags": [
"ODM Methods"
],
"summary": " Inactivate final version of ODM Method",
"operationId": "inactivate_odm_method_odms_methods__odm_method_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethod"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Method is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Method with the specified 'odm_method_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Methods"
],
"summary": "Reactivate retired version of a ODM Method",
"operationId": "reactivate_odm_method_odms_methods__odm_method_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_method_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Method.",
"title": "Odm Method Uid"
},
"description": "The unique id of the ODM Method."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmMethod"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Method is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Method with the specified 'odm_method_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-namespaces": {
"get": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Return every variable related to the selected status and version of the ODM Vendor Namespaces",
"operationId": "get_all_odm_vendor_namespaces_odms_vendor_namespaces_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmVendorNamespace_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Creates a new Vendor Namespace in 'Draft' status with version 0.1",
"operationId": "create_odm_vendor_namespace_odms_vendor_namespaces_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespacePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Vendor Namespace was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespace"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-namespaces/headers": {
"get": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_vendor_namespaces_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Vendor Namespaces Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-namespaces/{odm_vendor_namespace_uid}": {
"get": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Get details on a specific ODM Vendor Namespace (in a specific version)",
"operationId": "get_odm_vendor_namespace_odms_vendor_namespaces__odm_vendor_namespace_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespace"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Update ODM Vendor Namespace",
"operationId": "edit_odm_vendor_namespace_odms_vendor_namespaces__odm_vendor_namespace_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespacePatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespace"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Namespace is not in draft status.\n- The ODM Vendor Namespace had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Namespace with the specified 'odm_vendor_namespace_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Delete draft version of ODM Vendor Namespace",
"operationId": "delete_odm_vendor_namespace_odms_vendor_namespaces__odm_vendor_namespace_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Vendor Namespace was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Namespace is not in draft status.\n- The ODM Vendor Namespace was already in final state or is in use.\n- The library doesn't allow to delete ODM Vendor Namespace.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Vendor Namespace with the specified 'odm_vendor_namespace_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-namespaces/{odm_vendor_namespace_uid}/relationships": {
"get": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Get UIDs of a specific ODM Vendor Namespace's relationships",
"operationId": "get_active_relationships_odms_vendor_namespaces__odm_vendor_namespace_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Vendor Namespaces Odm Vendor Namespace Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-namespaces/{odm_vendor_namespace_uid}/versions": {
"get": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "List version history for ODM Vendor Namespace",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Vendor Namespaces.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_vendor_namespace_versions_odms_vendor_namespaces__odm_vendor_namespace_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmVendorNamespace"
},
"title": "Response Get Odm Vendor Namespace Versions Odms Vendor Namespaces Odm Vendor Namespace Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Namespace with the specified 'odm_vendor_namespace_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": " Create a new version of ODM Vendor Namespace",
"description": "State before:\n - uid must exist and the ODM Vendor Namespace must be in status Final.\n\nBusiness logic:\n- The ODM Vendor Namespace is changed to a draft state.\n\nState after:\n - ODM Vendor Namespace changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_vendor_namespace_version_odms_vendor_namespaces__odm_vendor_namespace_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespace"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Vendor Namespaces.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Vendor Namespace is not in final status.\n- The ODM Vendor Namespace with the specified 'odm_vendor_namespace_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-namespaces/{odm_vendor_namespace_uid}/approvals": {
"post": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Approve draft version of ODM Vendor Namespace",
"operationId": "approve_odm_vendor_namespace_odms_vendor_namespaces__odm_vendor_namespace_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespace"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Namespace is not in draft status.\n- The library doesn't allow to approve ODM Vendor Namespace.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Namespace with the specified 'odm_vendor_namespace_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-namespaces/{odm_vendor_namespace_uid}/activations": {
"delete": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": " Inactivate final version of ODM Vendor Namespace",
"operationId": "inactivate_odm_vendor_namespace_odms_vendor_namespaces__odm_vendor_namespace_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespace"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Namespace is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Namespace with the specified 'odm_vendor_namespace_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Namespaces"
],
"summary": "Reactivate retired version of a ODM Vendor Namespace",
"operationId": "reactivate_odm_vendor_namespace_odms_vendor_namespaces__odm_vendor_namespace_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_namespace_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Namespace.",
"title": "Odm Vendor Namespace Uid"
},
"description": "The unique id of the ODM Vendor Namespace."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorNamespace"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Namespace is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Namespace with the specified 'odm_vendor_namespace_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-attributes": {
"get": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Return every variable related to the selected status and version of the ODM Vendor Attributes",
"operationId": "get_all_odm_vendor_attributes_odms_vendor_attributes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmVendorAttribute_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Creates a new Vendor Attribute in 'Draft' status with version 0.1",
"operationId": "create_odm_vendor_attribute_odms_vendor_attributes_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttributePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Vendor Attribute was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttribute"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-attributes/headers": {
"get": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_vendor_attributes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Vendor Attributes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-attributes/{odm_vendor_attribute_uid}": {
"get": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Get details on a specific ODM Vendor Attribute (in a specific version)",
"operationId": "get_odm_vendor_attribute_odms_vendor_attributes__odm_vendor_attribute_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttribute"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Update ODM Vendor Attribute",
"operationId": "edit_odm_vendor_attribute_odms_vendor_attributes__odm_vendor_attribute_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttributePatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttribute"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Attribute is not in draft status.\n- The ODM Vendor Attribute had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Attribute with the specified 'odm_vendor_attribute_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Delete draft version of ODM Vendor Attribute",
"operationId": "delete_odm_vendor_attribute_odms_vendor_attributes__odm_vendor_attribute_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Vendor Attribute was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Attribute is not in draft status.\n- The ODM Vendor Attribute was already in final state or is in use.\n- The library doesn't allow to delete ODM Vendor Attribute.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Vendor Attribute with the specified 'odm_vendor_attribute_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-attributes/{odm_vendor_attribute_uid}/relationships": {
"get": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Get UIDs of a specific ODM Vendor Attribute's relationships",
"operationId": "get_active_relationships_odms_vendor_attributes__odm_vendor_attribute_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Vendor Attributes Odm Vendor Attribute Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-attributes/{odm_vendor_attribute_uid}/versions": {
"get": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "List version history for ODM Vendor Attribute",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Vendor Attributes.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_vendor_attribute_versions_odms_vendor_attributes__odm_vendor_attribute_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmVendorAttribute"
},
"title": "Response Get Odm Vendor Attribute Versions Odms Vendor Attributes Odm Vendor Attribute Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Attribute with the specified 'odm_vendor_attribute_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Attributes"
],
"summary": " Create a new version of ODM Vendor Attribute",
"description": "State before:\n - uid must exist and the ODM Vendor Attribute must be in status Final.\n\nBusiness logic:\n- The ODM Vendor Attribute is changed to a draft state.\n\nState after:\n - ODM Vendor Attribute changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_vendor_attribute_version_odms_vendor_attributes__odm_vendor_attribute_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttribute"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Vendor Attributes.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Vendor Attribute is not in final status.\n- The ODM Vendor Attribute with the specified 'odm_vendor_attribute_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-attributes/{odm_vendor_attribute_uid}/approvals": {
"post": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Approve draft version of ODM Vendor Attribute",
"operationId": "approve_odm_vendor_attribute_odms_vendor_attributes__odm_vendor_attribute_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttribute"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Attribute is not in draft status.\n- The library doesn't allow to approve ODM Vendor Attribute.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Attribute with the specified 'odm_vendor_attribute_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-attributes/{odm_vendor_attribute_uid}/activations": {
"delete": {
"tags": [
"ODM Vendor Attributes"
],
"summary": " Inactivate final version of ODM Vendor Attribute",
"operationId": "inactivate_odm_vendor_attribute_odms_vendor_attributes__odm_vendor_attribute_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttribute"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Attribute is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Attribute with the specified 'odm_vendor_attribute_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Attributes"
],
"summary": "Reactivate retired version of a ODM Vendor Attribute",
"operationId": "reactivate_odm_vendor_attribute_odms_vendor_attributes__odm_vendor_attribute_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_attribute_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Attribute.",
"title": "Odm Vendor Attribute Uid"
},
"description": "The unique id of the ODM Vendor Attribute."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorAttribute"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Attribute is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Attribute with the specified 'odm_vendor_attribute_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-elements": {
"get": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Return every variable related to the selected status and version of the ODM Vendor Elements",
"operationId": "get_all_odm_vendor_elements_odms_vendor_elements_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_OdmVendorElement_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Creates a new Vendor Element in 'Draft' status with version 0.1",
"operationId": "create_odm_vendor_element_odms_vendor_elements_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElementPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The ODM Vendor Element was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-elements/headers": {
"get": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_odms_vendor_elements_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Odms Vendor Elements Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-elements/{odm_vendor_element_uid}": {
"get": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Get details on a specific ODM Vendor Element (in a specific version)",
"operationId": "get_odm_vendor_element_odms_vendor_elements__odm_vendor_element_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Get a specific version of the ODM element",
"title": "Version"
},
"description": "Get a specific version of the ODM element"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Update ODM Vendor Element",
"operationId": "edit_odm_vendor_element_odms_vendor_elements__odm_vendor_element_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElementPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Element is not in draft status.\n- The ODM Vendor Element had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Element with the specified 'odm_vendor_element_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Delete draft version of ODM Vendor Element",
"operationId": "delete_odm_vendor_element_odms_vendor_elements__odm_vendor_element_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
}
],
"responses": {
"204": {
"description": "No Content - The ODM Vendor Element was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Element is not in draft status.\n- The ODM Vendor Element was already in final state or is in use.\n- The library doesn't allow to delete ODM Vendor Element.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An ODM Vendor Element with the specified 'odm_vendor_element_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-elements/{odm_vendor_element_uid}/relationships": {
"get": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Get UIDs of a specific ODM Vendor Element's relationships",
"operationId": "get_active_relationships_odms_vendor_elements__odm_vendor_element_uid__relationships_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"items": {
"type": "string"
}
},
"title": "Response Get Active Relationships Odms Vendor Elements Odm Vendor Element Uid Relationships Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-elements/{odm_vendor_element_uid}/versions": {
"get": {
"tags": [
"ODM Vendor Elements"
],
"summary": "List version history for ODM Vendor Element",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Vendor Elements.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_odm_vendor_element_versions_odms_vendor_elements__odm_vendor_element_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/OdmVendorElement"
},
"title": "Response Get Odm Vendor Element Versions Odms Vendor Elements Odm Vendor Element Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Element with the specified 'odm_vendor_element_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Elements"
],
"summary": " Create a new version of ODM Vendor Element",
"description": "State before:\n - uid must exist and the ODM Vendor Element must be in status Final.\n\nBusiness logic:\n- The ODM Vendor Element is changed to a draft state.\n\nState after:\n - ODM Vendor Element changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_odm_vendor_element_version_odms_vendor_elements__odm_vendor_element_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create ODM Vendor Elements.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The ODM Vendor Element is not in final status.\n- The ODM Vendor Element with the specified 'odm_vendor_element_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-elements/{odm_vendor_element_uid}/approvals": {
"post": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Approve draft version of ODM Vendor Element",
"operationId": "approve_odm_vendor_element_odms_vendor_elements__odm_vendor_element_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Element is not in draft status.\n- The library doesn't allow to approve ODM Vendor Element.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Element with the specified 'odm_vendor_element_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/vendor-elements/{odm_vendor_element_uid}/activations": {
"delete": {
"tags": [
"ODM Vendor Elements"
],
"summary": " Inactivate final version of ODM Vendor Element",
"operationId": "inactivate_odm_vendor_element_odms_vendor_elements__odm_vendor_element_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Element is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Element with the specified 'odm_vendor_element_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"ODM Vendor Elements"
],
"summary": "Reactivate retired version of a ODM Vendor Element",
"operationId": "reactivate_odm_vendor_element_odms_vendor_elements__odm_vendor_element_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "odm_vendor_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ODM Vendor Element.",
"title": "Odm Vendor Element Uid"
},
"description": "The unique id of the ODM Vendor Element."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/OdmVendorElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The ODM Vendor Element is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The ODM Vendor Element with the specified 'odm_vendor_element_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/metadata/aliases": {
"get": {
"tags": [
"ODM Metadata"
],
"summary": "Listing of ODM Aliases",
"operationId": "get_aliases_odms_metadata_aliases_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Comma separated list of fields to sort by. Available fields are: `name`, `context`. Prefix with `-` for descending order.\n E.g. `-name,context` sorts by name in descending order and then by context in ascending order.",
"default": "",
"title": "Sort By"
},
"description": "Comma separated list of fields to sort by. Available fields are: `name`, `context`. Prefix with `-` for descending order.\n E.g. `-name,context` sorts by name in descending order and then by context in ascending order."
},
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Search by name or context. Search is case insensitive.",
"title": "Search"
},
"description": "Search by name or context. Search is case insensitive."
},
{
"name": "op",
"in": "query",
"required": false,
"schema": {
"enum": [
"co",
"eq"
],
"type": "string",
"description": "Operator to use for filtering. `co` for contains, `eq` for equals. Default is `co`.",
"default": "co",
"title": "Op"
},
"description": "Operator to use for filtering. `co` for contains, `eq` for equals. Default is `co`."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/metadata/translated-texts": {
"get": {
"tags": [
"ODM Metadata"
],
"summary": "Listing of ODM Translated Texts",
"operationId": "get_translated_texts_odms_metadata_translated_texts_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Comma separated list of fields to sort by. Available fields are: `text_type`, `language` and `text`. Prefix with `-` for descending order.\n E.g. `-language,text_type` sorts by language in descending order and then by text_type in ascending order.",
"default": "",
"title": "Sort By"
},
"description": "Comma separated list of fields to sort by. Available fields are: `text_type`, `language` and `text`. Prefix with `-` for descending order.\n E.g. `-language,text_type` sorts by language in descending order and then by text_type in ascending order."
},
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Search by text_type, language or text. Search is case insensitive.",
"title": "Search"
},
"description": "Search by text_type, language or text. Search is case insensitive."
},
{
"name": "op",
"in": "query",
"required": false,
"schema": {
"enum": [
"co",
"eq"
],
"type": "string",
"description": "Operator to use for filtering. `co` for contains, `eq` for equals. Default is `co`.",
"default": "co",
"title": "Op"
},
"description": "Operator to use for filtering. `co` for contains, `eq` for equals. Default is `co`."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/metadata/formal-expressions": {
"get": {
"tags": [
"ODM Metadata"
],
"summary": "Listing of ODM Formal Expressions",
"operationId": "get_formal_expressions_odms_metadata_formal_expressions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Comma separated list of fields to sort by. Available fields are: `context` and `expression`. Prefix with `-` for descending order.\n E.g. `-context,expression` sorts by context in descending order and then by expression in ascending order.",
"default": "",
"title": "Sort By"
},
"description": "Comma separated list of fields to sort by. Available fields are: `context` and `expression`. Prefix with `-` for descending order.\n E.g. `-context,expression` sorts by context in descending order and then by expression in ascending order."
},
{
"name": "search",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Search by context or expression. Search is case insensitive.",
"title": "Search"
},
"description": "Search by context or expression. Search is case insensitive."
},
{
"name": "op",
"in": "query",
"required": false,
"schema": {
"enum": [
"co",
"eq"
],
"type": "string",
"description": "Operator to use for filtering. `co` for contains, `eq` for equals. Default is `co`.",
"default": "co",
"title": "Op"
},
"description": "Operator to use for filtering. `co` for contains, `eq` for equals. Default is `co`."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/metadata/report": {
"post": {
"tags": [
"ODM Metadata"
],
"summary": "Export ODM Report",
"operationId": "get_odm_report_odms_metadata_report_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "target_type",
"in": "query",
"required": true,
"schema": {
"$ref": "#/components/schemas/TargetType"
}
},
{
"name": "targets",
"in": "query",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of UIDs and (optionally) versions separated by comma. E.g. `uid1,v1` or `uid1` for latest version.",
"title": "Targets"
},
"description": "List of UIDs and (optionally) versions separated by comma. E.g. `uid1,v1` or `uid1` for latest version."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/html": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/metadata/xmls/export": {
"post": {
"tags": [
"ODM Metadata"
],
"summary": "Export ODM XML",
"operationId": "get_odm_document_odms_metadata_xmls_export_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "target_type",
"in": "query",
"required": true,
"schema": {
"$ref": "#/components/schemas/TargetType"
}
},
{
"name": "targets",
"in": "query",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
},
"description": "List of UIDs and (optionally) versions separated by comma. E.g. `uid1,v1` or `uid1` for latest version.",
"title": "Targets"
},
"description": "List of UIDs and (optionally) versions separated by comma. E.g. `uid1,v1` or `uid1` for latest version."
},
{
"name": "allowed_namespaces",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "Names of the Vendor Namespaces to export or `*` to export all available Vendor Namespaces. If not specified, no Vendor Namespaces will be exported.",
"title": "Allowed Namespaces"
},
"description": "Names of the Vendor Namespaces to export or `*` to export all available Vendor Namespaces. If not specified, no Vendor Namespaces will be exported."
},
{
"name": "pdf",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether or not to export the ODM as a PDF.",
"default": false,
"title": "Pdf"
},
"description": "Whether or not to export the ODM as a PDF."
},
{
"name": "stylesheet",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[a-zA-Z0-9-]+$"
},
{
"type": "null"
}
],
"description": "Name of the ODM XML Stylesheet.",
"title": "Stylesheet"
},
"description": "Name of the ODM XML Stylesheet."
}
],
"requestBody": {
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_get_odm_document_odms_metadata_xmls_export_post"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/xml": {},
"application/pdf": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/metadata/csvs/export": {
"post": {
"tags": [
"ODM Metadata"
],
"summary": "Export ODM CSV",
"operationId": "get_odm_csv_odms_metadata_csvs_export_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "target_uid",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Target Uid"
}
},
{
"name": "target_type",
"in": "query",
"required": true,
"schema": {
"$ref": "#/components/schemas/TargetType"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"text/csv": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/metadata/xmls/import": {
"post": {
"tags": [
"ODM Metadata"
],
"summary": "Import ODM XML",
"operationId": "store_odm_xml_odms_metadata_xmls_import_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "exporter",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/ExporterType",
"description": "The system that exported this ODM XML file.",
"default": "osb"
},
"description": "The system that exported this ODM XML file."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the library to import into. Defaults to the configured sponsor library.",
"title": "Library Name"
},
"description": "The name of the library to import into. Defaults to the configured sponsor library."
}
],
"requestBody": {
"required": true,
"content": {
"multipart/form-data": {
"schema": {
"$ref": "#/components/schemas/Body_store_odm_xml_odms_metadata_xmls_import_post"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/odms/metadata/xmls/stylesheets": {
"get": {
"tags": [
"ODM Metadata"
],
"summary": "Listing of all available ODM XML Stylesheet names",
"operationId": "get_available_stylesheet_names_odms_metadata_xmls_stylesheets_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array",
"title": "Response Get Available Stylesheet Names Odms Metadata Xmls Stylesheets Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/odms/metadata/xmls/stylesheets/{stylesheet}": {
"get": {
"tags": [
"ODM Metadata"
],
"summary": "Get a specific ODM XML Stylesheet",
"operationId": "get_specific_stylesheet_odms_metadata_xmls_stylesheets__stylesheet__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "stylesheet",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Name of the ODM XML Stylesheet.",
"title": "Stylesheet"
},
"description": "Name of the ODM XML Stylesheet."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/xml": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates": {
"get": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Returns all activity instruction templates in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_instruction_templates_activity_instruction_templates_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those activity instruction templates will be returned that are currently in the specified status. This may be particularly useful if the activity instruction template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those activity instruction templates will be returned that are currently in the specified status. This may be particularly useful if the activity instruction template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstructionTemplate_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n\n\n \n - \n e9117175-918f-489e-9a6e-65e0025233a6\n \"First [ComparatorIntervention]\n 2020-11-19T11:51:43.000Z\n Draft\n 0.2\n Test\n someone@example.com\n
\n \n\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Creates a new activity instruction template in 'Draft' status or returns the activity instruction template if it already exists.",
"description": "This request is only valid if the activity instruction template\n* belongs to a library that allows creating (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.\n* The activity instruction template will be linked to a library.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an activity instruction template may contain parameters, that can - and usually will - be replaced with concrete values once an activity instruction is created out of the activity instruction template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe activity instruction template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same activity instruction template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "create_activity_instruction_template_activity_instruction_templates_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplateCreateInput",
"description": "The activity instruction template that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The activity template was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction template name is not valid.\n- The library doesn't allow to create activity instruction templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The library with the specified 'library_name' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/headers": {
"get": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_activity_instruction_templates_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those activity instruction templates will be returned that are currently in the specified status. This may be particularly useful if the activity instruction template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those activity instruction templates will be returned that are currently in the specified status. This may be particularly useful if the activity instruction template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Activity Instruction Templates Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/audit-trail": {
"get": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_activity_instruction_templates_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstructionTemplate_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}": {
"get": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Returns the latest/newest version of a specific activity instruction template identified by 'activity_instruction_template_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_activity_instruction_template_activity_instruction_templates__activity_instruction_template_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplateWithCount"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the\n specified 'activity_instruction_template_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Updates the activity instruction template identified by 'activity_instruction_template_uid'.",
"description": "This request is only valid if the activity instruction template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n\nParameters in the 'name' property can only be changed if the activity instruction template has never been approved.\nOnce the activity instruction template has been approved, only the surrounding text (excluding the parameters) can be changed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an activity instruction template may contain parameters, that can - and usually will - be replaced with concrete values once an activity instruction is created out of the activity instruction template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe activity instruction template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same activity instruction template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "edit_activity_instruction_templates__activity_instruction_template_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplateEditInput",
"description": "The new content of the activity instruction template including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction template is not in draft status.\n- The activity instruction template name is not valid.\n- The library doesn't allow to edit draft versions.\n- The change of parameters of previously approved activity instruction templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Deletes the activity instruction template identified by 'activity_instruction_template_uid'.",
"description": "This request is only valid if \n\n* the activity instruction template is in 'Draft' status and\n* the activity instruction template has never been in 'Final' status and\n* the activity instruction template has no references to any activity instruction and\n* the activity instruction template belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_activity_instruction_template_activity_instruction_templates__activity_instruction_template_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"responses": {
"204": {
"description": "No Content - The activity instruction template was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction template is not in draft status.\n- The activity instruction template was already in final state or is in use.\n- The library doesn't allow to delete activity instruction templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An activity instruction template with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}/versions": {
"get": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Returns the version history of a specific activity instruction template identified by 'activity_instruction_template_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_instruction_template_versions_activity_instruction_templates__activity_instruction_template_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityInstructionTemplateVersion"
},
"title": "Response Get Activity Instruction Template Versions Activity Instruction Templates Activity Instruction Template Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n\n\n \n - \n First [ComparatorIntervention]\n 2020-11-19 11:51:43+00:00\n None\n Draft\n 0.2\n Test\n someone@example.com\n
\n - \n First [ComparatorIntervention]\n 2020-11-19 11:51:07+00:00\n 2020-11-19 11:51:43+00:00\n Draft\n 0.1\n Initial version\n someone@example.com\n
\n \n\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Creates a new version of the activity instruction template identified by 'activity_instruction_template_uid'.",
"description": "This request is only valid if the activity instruction template\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_activity_instruction_templates__activity_instruction_template_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplateEditInput",
"description": "The content of the activity instruction template for the new 'Draft' version including the change description."
}
}
}
},
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction template is not in final or retired status or has a draft status.\n- The activity instruction template name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}/versions/{version}": {
"get": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Returns a specific version of a specific activity instruction template identified by 'activity_instruction_template_uid' and 'version'.",
"description": "**Multiple versions**:\n\nTechnically, there can be multiple versions of the activity instruction template with the same version number. This is due to the fact, that the version number remains the same when inactivating or reactivating an activity instruction template (switching between 'Final' and 'Retired' status). \n\nIn that case the latest/newest representation is returned.",
"operationId": "get_activity_instruction_template_version_activity_instruction_templates__activity_instruction_template_uid__versions__version__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "A specific version number of the activity instruction template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "A specific version number of the activity instruction template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' and 'version' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}/releases": {
"get": {
"tags": [
"Activity Instruction Templates"
],
"summary": "List all final versions of a template identified by 'activity_instruction_template_uid', including number of studies using a specific version",
"operationId": "get_activity_instruction_template_releases_activity_instruction_templates__activity_instruction_template_uid__releases_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
},
"title": "Response Get Activity Instruction Template Releases Activity Instruction Templates Activity Instruction Template Uid Releases Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}/indexings": {
"patch": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Updates the indexings of the activity instruction template identified by 'activity_instruction_template_uid'.",
"description": "This request is only valid if the template\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_activity_instruction_templates__activity_instruction_template_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplateEditIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this template were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The template with the specified 'activity_instruction_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}/approvals": {
"post": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Approves the activity instruction template identified by 'activity_instruction_template_uid'.",
"description": "This request is only valid if the activity instruction template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_activity_instruction_templates__activity_instruction_template_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
},
{
"name": "cascade",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Cascade"
}
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction template is not in draft status.\n- The library doesn't allow to approve drafts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Conflict - there are activity instruction created from template and cascade is false",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}/activations": {
"delete": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Inactivates/deactivates the activity instruction template identified by 'activity_instruction_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the activity instruction template\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_activity_instruction_templates__activity_instruction_template_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction template is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Reactivates the activity instruction template identified by 'activity_instruction_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the activity instruction template\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_activity_instruction_templates__activity_instruction_template_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction template is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}/parameters": {
"get": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Returns all parameters used in the activity instruction template identified by 'activity_instruction_template_uid'. Includes the available terms per parameter.",
"description": "The returned parameters are ordered\n0. as they occur in the activity instruction template\n\nPer parameter, the parameter.terms are ordered by\n0. term.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same terms) is included multiple times in the response.",
"operationId": "get_parameters_activity_instruction_templates__activity_instruction_template_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)",
"title": "Study Uid"
},
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Activity Instruction Templates Activity Instruction Template Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-templates/pre-validate": {
"post": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Validates the content of an activity instruction template without actually processing it.",
"description": "Be aware that - even if this request is accepted - there is no guarantee that\na following request to e.g. *[POST] /activity-instruction-templates* or *[PATCH] /activity-instruction-templates/{activity_instruction_template_uid}*\nwith the same content will succeed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an activity instruction template may contain parameters, that can - and usually will - be replaced with concrete values once an activity instruction is created out of the activity instruction template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe activity instruction template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same activity instruction template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "pre_validate_activity_instruction_templates_pre_validate_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionTemplatePreValidateInput",
"description": "The content of the activity instruction template that shall be validated."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Accepted. The content is valid and may be submitted in another request."
},
"400": {
"description": "Forbidden. The content is invalid - Reasons include e.g.: \n- The syntax of the 'name' is not valid.\n- One of the parameters wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/activity-instruction-templates/{activity_instruction_template_uid}/pre-instances": {
"post": {
"tags": [
"Activity Instruction Templates"
],
"summary": "Create a Pre-Instance",
"operationId": "create_pre_instance_activity_instruction_templates__activity_instruction_template_uid__pre_instances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the activity instruction template.",
"title": "Activity Instruction Template Uid"
},
"description": "The unique id of the activity instruction template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstanceCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The activity instruction pre-instance was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction template is not in draft status.\n- The activity instruction template name is not valid.\n- The library doesn't allow to edit draft versions.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'activity_instruction_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions": {
"get": {
"tags": [
"Activity Instructions"
],
"summary": "Returns all final versions of objectives referenced by any study.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_activity_instructions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstruction_"
}
},
"text/csv": {
"example": "\n\"library\",\"template\",\"uid\",\"objective\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"First [ComparatorIntervention]\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",First Intervention,\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instructions"
],
"summary": "Creates a new objective in 'Draft' status.",
"description": "This request is only valid if\n* the specified objective template is in 'Final' status and\n* the specified library allows creating objectives (the 'is_editable' property of the library needs to be true) and\n* the objective doesn't yet exist (no objective with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.",
"operationId": "create_activity_instructions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionCreateInput",
"description": "Related parameters of the objective that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The objective was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstruction"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create objectives.\n- The objective does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The objective template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions/headers": {
"get": {
"tags": [
"Activity Instructions"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_activity_instructions_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Activity Instructions Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions/audit-trail": {
"get": {
"tags": [
"Activity Instructions"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_activity_instructions_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstruction_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions/{activity_instruction_uid}": {
"get": {
"tags": [
"Activity Instructions"
],
"summary": "Returns the latest/newest version of a specific objective identified by 'activity_instruction_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_activity_instructions__activity_instruction_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, the representation of the objective in that status is returned (if existent). This may be particularly useful if the objective has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, the representation of the objective in that status is returned (if existent). This may be particularly useful if the objective has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, the latest/newest representation of the objective in that version is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "If specified, the latest/newest representation of the objective in that version is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/ActivityInstruction"
},
{
"type": "null"
}
],
"title": "Response Get Activity Instructions Activity Instruction Uid Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'activity_instruction_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Activity Instructions"
],
"summary": "Updates the objective identified by 'activity_instruction_uid'.",
"description": "This request is only valid if the objective\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_activity_instructions__activity_instruction_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionEditInput",
"description": "The new parameter terms for the objective including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstruction"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in draft status.\n- The objective had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The objective does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'activity_instruction_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activity Instructions"
],
"summary": "Deletes the objective identified by 'activity_instruction_uid'.",
"description": "This request is only valid if \n\n* the objective is in 'Draft' status and\n* the objective has never been in 'Final' status and\n* the objective belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_activity_instructions__activity_instruction_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"204": {
"description": "No Content - The objective was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in draft status.\n- The objective was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An objective with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions/{activity_instruction_uid}/versions": {
"get": {
"tags": [
"Activity Instructions"
],
"summary": "Returns the version history of a specific objective identified by 'activity_instruction_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_activity_instructions__activity_instruction_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityInstructionVersion"
},
"title": "Response Get Versions Activity Instructions Activity Instruction Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'activity_instruction_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions/{activity_instruction_uid}/studies": {
"get": {
"tags": [
"Activity Instructions"
],
"summary": "Get Studies",
"operationId": "get_studies_activity_instructions__activity_instruction_uid__studies_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
},
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Include Sections"
},
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Exclude Sections"
},
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Study"
},
"title": "Response Get Studies Activity Instructions Activity Instruction Uid Studies Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'activity_instruction_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions/preview": {
"post": {
"tags": [
"Activity Instructions"
],
"summary": "Previews the creation of a new objective.",
"description": "This request is only valid if\n* the specified objective template is in 'Final' status and\n* the specified library allows creating objectives (the 'is_editable' property of the library needs to be true) and\n* the objective doesn't yet exist (no objective with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* No objective will be created, but the result of the request will show what the objective will look like.",
"operationId": "preview_activity_instructions_preview_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionCreateInput",
"description": "Related parameters of the objective that shall be previewed."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success - The objective is able to be created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstruction"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create objectives.\n- The objective does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The objective template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/activity-instructions/{activity_instruction_uid}/approvals": {
"post": {
"tags": [
"Activity Instructions"
],
"summary": "Approves the objective identified by 'activity_instruction_uid'.",
"description": "This request is only valid if the objective\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_activity_instructions__activity_instruction_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstruction"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in draft status.\n- The library doesn't allow to approve objective.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'activity_instruction_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions/{activity_instruction_uid}/activations": {
"delete": {
"tags": [
"Activity Instructions"
],
"summary": "Inactivates/deactivates the objective identified by 'activity_instruction_uid'.",
"description": "This request is only valid if the objective\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_activity_instructions__activity_instruction_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstruction"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'activity_instruction_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instructions"
],
"summary": "Reactivates the objective identified by 'activity_instruction_uid'.",
"description": "This request is only valid if the objective\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_activity_instructions__activity_instruction_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstruction"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'activity_instruction_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instructions/{activity_instruction_uid}/parameters": {
"get": {
"tags": [
"Activity Instructions"
],
"summary": "Returns all template parameters available for the objective identified by 'activity_instruction_uid'. Includes the available values per parameter.",
"description": "Returns all template parameters used in the objective template that is the basis for the objective identified by 'activity_instruction_uid'. Includes the available values per parameter.",
"operationId": "get_parameters_activity_instructions__activity_instruction_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Activity Instruction Uid"
},
"description": "The unique id of the objective."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)",
"title": "Study Uid"
},
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Activity Instructions Activity Instruction Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-pre-instances": {
"get": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Returns all syntax Pre-Instances in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination",
"operationId": "activity_instruction_pre_instances_activity_instruction_pre_instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Activity Instruction Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Activity Instruction Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstructionPreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-pre-instances/headers": {
"get": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_activity_instruction_pre_instances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Activity Instruction Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Activity Instruction Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Activity Instruction Pre Instances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-pre-instances/audit-trail": {
"get": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_activity_instruction_pre_instances_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstructionPreInstanceVersion_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-pre-instances/{activity_instruction_pre_instance_uid}": {
"get": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Returns the latest/newest version of a specific activity instruction pre-instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction pre-instance with the specified 'activity_instruction_pre_instance_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Updates the Activity Instruction Pre-Instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "This request is only valid if the Activity Instruction Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n* The link to the objective will remain as is.",
"operationId": "edit_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstanceEditInput",
"description": "The new parameter terms for the Activity Instruction Pre-Instance, its indexings and the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Activity Instruction Pre-Instance is not in draft status.\n- The Activity Instruction Pre-Instance had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The Activity Instruction Pre-Instance does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Activity Instruction Pre-Instance with the specified 'activity_instruction_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Deletes the Activity Instruction Pre-Instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "This request is only valid if \n\n* the Activity Instruction Pre-Instance is in 'Draft' status and\n* the Activity Instruction Pre-Instance has never been in 'Final' status and\n* the Activity Instruction Pre-Instance belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"responses": {
"204": {
"description": "No Content - The Activity Instruction Pre-Instance was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Activity Instruction Pre-Instance is not in draft status.\n- The Activity Instruction Pre-Instance was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An Activity Instruction Pre-Instance with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-pre-instances/{activity_instruction_pre_instance_uid}/indexings": {
"patch": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Updates the indexings of the Activity Instruction Pre-Instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "This request is only valid if the Pre-Instance\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstanceIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this Pre-Instance were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Pre-Instance with the specified 'activity_instruction_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-pre-instances/{activity_instruction_pre_instance_uid}/versions": {
"get": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Returns the version history of a specific Activity Instruction Pre-Instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_versions_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityInstructionPreInstanceVersion"
},
"title": "Response Get Versions Activity Instruction Pre Instances Activity Instruction Pre Instance Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Activity Instruction Pre-Instance with the specified 'activity_instruction_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Creates a new version of the Activity Instruction Pre-Instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "This request is only valid if the Activity Instruction Pre-Instance\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Activity Instruction Pre-Instance is not in final or retired status or has a draft status.\n- The Activity Instruction Pre-Instance name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Activity Instruction Pre-Instance with the specified 'activity_instruction_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-pre-instances/{activity_instruction_pre_instance_uid}/activations": {
"delete": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Inactivates/deactivates the activity instruction pre-instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "This request is only valid if the activity instruction pre-instance\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction pre-instance is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction pre-instance with the specified 'activity_instruction_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Reactivates the activity instruction pre-instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "This request is only valid if the activity instruction pre-instance\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instruction pre-instance is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction pre-instance with the specified 'activity_instruction_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instruction-pre-instances/{activity_instruction_pre_instance_uid}/approvals": {
"post": {
"tags": [
"Activity Instruction Pre-Instances"
],
"summary": "Approves the Activity Instruction Pre-Instance identified by 'activity_instruction_pre_instance_uid'.",
"description": "This request is only valid if the Activity Instruction Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_activity_instruction_pre_instances__activity_instruction_pre_instance_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instruction_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity Instruction Pre-Instance.",
"title": "Activity Instruction Pre Instance Uid"
},
"description": "The unique id of the Activity Instruction Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstructionPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Activity Instruction Pre-Instance is not in draft status.\n- The library doesn't allow to approve Activity Instruction Pre-Instances.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Activity Instruction Pre-Instance with the specified 'activity_instruction_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates": {
"get": {
"tags": [
"Footnote Templates"
],
"summary": "Returns all footnote templates in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_footnote_templates_footnote_templates_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those footnote templates will be returned that are currently in the specified status. This may be particularly useful if the footnote template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those footnote templates will be returned that are currently in the specified status. This may be particularly useful if the footnote template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_FootnoteTemplate_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n\n\n \n - \n e9117175-918f-489e-9a6e-65e0025233a6\n \"First [ComparatorIntervention]\n 2020-11-19T11:51:43.000Z\n Draft\n 0.2\n Test\n someone@example.com\n
\n \n\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Footnote Templates"
],
"summary": "Creates a new footnote template in 'Draft' status or returns the footnote template if it already exists.",
"description": "This request is only valid if the footnote template\n* belongs to a library that allows creating (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.\n* The footnote template will be linked to a library.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an footnote template may contain parameters, that can - and usually will - be replaced with concrete values once an footnote is created out of the footnote template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe footnote template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same footnote template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "create_footnote_template_footnote_templates_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplateCreateInput",
"description": "The footnote template that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The footnote template was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote template name is not valid.\n- The library doesn't allow to create footnote templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The library with the specified 'library_name' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/headers": {
"get": {
"tags": [
"Footnote Templates"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_footnote_templates_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those footnote templates will be returned that are currently in the specified status. This may be particularly useful if the footnote template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those footnote templates will be returned that are currently in the specified status. This may be particularly useful if the footnote template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Footnote Templates Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/audit-trail": {
"get": {
"tags": [
"Footnote Templates"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_footnote_templates_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_FootnoteTemplate_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/{footnote_template_uid}": {
"get": {
"tags": [
"Footnote Templates"
],
"summary": "Returns the latest/newest version of a specific footnote template identified by 'footnote_template_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_footnote_template_footnote_templates__footnote_template_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplateWithCount"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Footnote Templates"
],
"summary": "Updates the footnote template identified by 'footnote_template_uid'.",
"description": "This request is only valid if the footnote template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n\nParameters in the 'name' property can only be changed if the footnote template has never been approved.\nOnce the footnote template has been approved, only the surrounding text (excluding the parameters) can be changed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an footnote template may contain parameters, that can - and usually will - be replaced with concrete values once an footnote is created out of the footnote template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe footnote template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same footnote template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "edit_footnote_templates__footnote_template_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplateEditInput",
"description": "The new content of the footnote template including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote template is not in draft status.\n- The footnote template name is not valid.\n- The library doesn't allow to edit draft versions.\n- The change of parameters of previously approved footnote templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Footnote Templates"
],
"summary": "Deletes the footnote template identified by 'footnote_template_uid'.",
"description": "This request is only valid if \n\n* the footnote template is in 'Draft' status and\n* the footnote template has never been in 'Final' status and\n* the footnote template has no references to any footnote and\n* the footnote template belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_footnote_template_footnote_templates__footnote_template_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"responses": {
"204": {
"description": "No Content - The footnote template was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote template is not in draft status.\n- The footnote template was already in final state or is in use.\n- The library doesn't allow to delete footnote templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An footnote template with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/{footnote_template_uid}/versions": {
"get": {
"tags": [
"Footnote Templates"
],
"summary": "Returns the version history of a specific footnote template identified by 'footnote_template_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first)\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_footnote_template_versions_footnote_templates__footnote_template_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FootnoteTemplateVersion"
},
"title": "Response Get Footnote Template Versions Footnote Templates Footnote Template Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n\n\n \n - \n First [ComparatorIntervention]\n 2020-11-19 11:51:43+00:00\n None\n Draft\n 0.2\n Test\n someone@example.com\n
\n - \n First [ComparatorIntervention]\n 2020-11-19 11:51:07+00:00\n 2020-11-19 11:51:43+00:00\n Draft\n 0.1\n Initial version\n someone@example.com\n
\n \n\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Footnote Templates"
],
"summary": "Creates a new version of the footnote template identified by 'footnote_template_uid'.",
"description": "This request is only valid if the footnote template\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_footnote_templates__footnote_template_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplateEditInput",
"description": "The content of the footnote template for the new 'Draft' version including the change description."
}
}
}
},
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote template is not in final or retired status or has a draft status.\n- The footnote template name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/{footnote_template_uid}/versions/{version}": {
"get": {
"tags": [
"Footnote Templates"
],
"summary": "Returns a specific version of a specific footnote template identified by 'footnote_template_uid' and 'version'.",
"description": "**Multiple versions**:\n\nTechnically, there can be multiple versions of the footnote template with the same version number. This is due to the fact, that the version number remains the same when inactivating or reactivating an footnote template (switching between 'Final' and 'Retired' status). \n\nIn that case the latest/newest representation is returned.",
"operationId": "get_footnote_template_version_footnote_templates__footnote_template_uid__versions__version__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "A specific version number of the footnote template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "A specific version number of the footnote template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' and 'version' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/{footnote_template_uid}/releases": {
"get": {
"tags": [
"Footnote Templates"
],
"summary": "List all final versions of a template identified by 'footnote_template_uid', including number of studies using a specific version",
"operationId": "get_footnote_template_releases_footnote_templates__footnote_template_uid__releases_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FootnoteTemplate"
},
"title": "Response Get Footnote Template Releases Footnote Templates Footnote Template Uid Releases Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/{footnote_template_uid}/indexings": {
"patch": {
"tags": [
"Footnote Templates"
],
"summary": "Updates the indexings of the footnote template identified by 'footnote_template_uid'.",
"description": "This request is only valid if the template\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_footnote_templates__footnote_template_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplateEditIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this template were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The template with the specified 'footnote_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/{footnote_template_uid}/approvals": {
"post": {
"tags": [
"Footnote Templates"
],
"summary": "Approves the footnote template identified by 'footnote_template_uid'.",
"description": "This request is only valid if the footnote template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_footnote_templates__footnote_template_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
},
{
"name": "cascade",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Cascade"
}
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote template is not in draft status.\n- The library doesn't allow to approve drafts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Conflict - there are footnote created from template and cascade is false",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/{footnote_template_uid}/activations": {
"delete": {
"tags": [
"Footnote Templates"
],
"summary": "Inactivates/deactivates the footnote template identified by 'footnote_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the footnote template\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_footnote_templates__footnote_template_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote template is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Footnote Templates"
],
"summary": "Reactivates the footnote template identified by 'footnote_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the footnote template\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_footnote_templates__footnote_template_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote template is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/{footnote_template_uid}/parameters": {
"get": {
"tags": [
"Footnote Templates"
],
"summary": "Returns all parameters used in the footnote template identified by 'footnote_template_uid'. Includes the available terms per parameter.",
"description": "The returned parameters are ordered\n0. as they occur in the footnote template\n\nPer parameter, the parameter.terms are ordered by\n0. term.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same terms) is included multiple times in the response.",
"operationId": "get_parameters_footnote_templates__footnote_template_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)",
"title": "Study Uid"
},
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Footnote Templates Footnote Template Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-templates/pre-validate": {
"post": {
"tags": [
"Footnote Templates"
],
"summary": "Validates the content of an footnote template without actually processing it.",
"description": "Be aware that - even if this request is accepted - there is no guarantee that\na following request to e.g. *[POST] /footnote-templates* or *[PATCH] /footnote-templates/{footnote_template_uid}*\nwith the same content will succeed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an footnote template may contain parameters, that can - and usually will - be replaced with concrete values once an footnote is created out of the footnote template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe footnote template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same footnote template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "pre_validate_footnote_templates_pre_validate_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteTemplatePreValidateInput",
"description": "The content of the footnote template that shall be validated."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Accepted. The content is valid and may be submitted in another request."
},
"400": {
"description": "Forbidden. The content is invalid - Reasons include e.g.: \n- The syntax of the 'name' is not valid.\n- One of the parameters wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/footnote-templates/{footnote_template_uid}/pre-instances": {
"post": {
"tags": [
"Footnote Templates"
],
"summary": "Create a Pre-Instance",
"operationId": "create_pre_instance_footnote_templates__footnote_template_uid__pre_instances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote template.",
"title": "Footnote Template Uid"
},
"description": "The unique id of the footnote template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstanceCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The footnote pre-instance was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote template is not in draft status.\n- The footnote template name is not valid.\n- The library doesn't allow to edit draft versions.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote template with the specified 'footnote_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes": {
"get": {
"tags": [
"Footnotes"
],
"summary": "Returns all final versions of footnotes referenced by any study.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_footnotes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_FootnoteWithType_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"objective\",\"template\",\"footnote\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"Objective\",\"First [ComparatorIntervention]\",\"First Intervention\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {},
"text/xml": {
"example": "\n\n\n \n - \n Sponsor\n 682d7003-8dcc-480d-b07b-878e659b8697\n Test template new [glucose metabolism] [MACE+] totot\n Footnote using [Activity] and [Indication]\n Footnote using [body weight] and [type 2 diabetes]\n 2020-11-26T13:43:23.000Z\n \n Draft\n 0.2\n Changed indication\n someone@example.com\n
\n \n\n"
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Footnotes"
],
"summary": "Creates a new footnote in 'Draft' status.",
"description": "This request is only valid if\n* the specified footnote template is in 'Final' status and\n* the specified objective is in 'Final' status and\n* the specified library allows creating footnote (the 'is_editable' property of the library needs to be true) and\n* the footnote doesn't yet exist (no footnote with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.",
"operationId": "create_footnotes_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteCreateInput",
"description": "Related parameters of the footnote that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The footnote was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Footnote"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The objective wasn't found or it is not in 'Final' status.\n- The library doesn't allow to create footnote.\n- The footnote does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The footnote template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes/headers": {
"get": {
"tags": [
"Footnotes"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_footnotes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Footnotes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes/audit-trail": {
"get": {
"tags": [
"Footnotes"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_footnotes_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Footnote_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes/{footnote_uid}": {
"get": {
"tags": [
"Footnotes"
],
"summary": "Returns the latest/newest version of a specific footnote identified by 'footnote_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_footnotes__footnote_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote with the specified 'footnote_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Footnotes"
],
"summary": "Updates the footnote identified by 'footnote_uid'.",
"description": "This request is only valid if the footnote\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_footnotes__footnote_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteEditInput",
"description": "The new parameter terms for the footnote including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote is not in draft status.\n- The footnote had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The footnote does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote with the specified 'footnote_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Footnotes"
],
"summary": "Deletes the footnote identified by 'footnote_uid'.",
"description": "This request is only valid if \n\n* the footnote is in 'Draft' status and\n* the footnote has never been in 'Final' status and\n* the footnote belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_footnotes__footnote_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
}
],
"responses": {
"204": {
"description": "No Content - The footnote was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote is not in draft status.\n- The footnote was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An footnote with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes/{footnote_uid}/versions": {
"get": {
"tags": [
"Footnotes"
],
"summary": "Returns the version history of a specific footnote identified by 'footnote_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_footnotes__footnote_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FootnoteVersion"
},
"title": "Response Get Versions Footnotes Footnote Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote with the specified 'footnote_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes/preview": {
"post": {
"tags": [
"Footnotes"
],
"summary": "Previews the creation of a new footnote.",
"description": "This request is only valid if\n* the specified footnote template is in 'Final' status and\n* the specified library allows creating footnote (the 'is_editable' property of the library needs to be true) and\n* the footnote doesn't yet exist (no footnote with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* No footnote will be created, but the result of the request will show what the footnote will look like.",
"operationId": "preview_footnotes_preview_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteCreateInput",
"description": "Related parameters of the footnote that shall be previewed."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success - The footnote is able to be created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Footnote"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create footnote.\n- The footnote does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The footnote template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/footnotes/{footnote_uid}/approvals": {
"post": {
"tags": [
"Footnotes"
],
"summary": "Approves the footnote identified by 'footnote_uid'.",
"description": "This request is only valid if the footnote\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_footnotes__footnote_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote is not in draft status.\n- The library doesn't allow to approve footnote.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote with the specified 'footnote_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes/{footnote_uid}/activations": {
"delete": {
"tags": [
"Footnotes"
],
"summary": "Inactivates/deactivates the footnote identified by 'footnote_uid'.",
"description": "This request is only valid if the footnote\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_footnotes__footnote_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote with the specified 'footnote_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Footnotes"
],
"summary": "Reactivates the footnote identified by 'footnote_uid'.",
"description": "This request is only valid if the footnote\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_footnotes__footnote_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnoteWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote with the specified 'footnote_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes/{footnote_uid}/studies": {
"get": {
"tags": [
"Footnotes"
],
"summary": "Get Studies",
"operationId": "get_studies_footnotes__footnote_uid__studies_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
},
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Include Sections"
},
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Exclude Sections"
},
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Study"
},
"title": "Response Get Studies Footnotes Footnote Uid Studies Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote with the specified 'footnote_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnotes/{footnote_uid}/parameters": {
"get": {
"tags": [
"Footnotes"
],
"summary": "Returns all template parameters available for the footnote identified by 'footnote_uid'. Includes the available values per parameter.",
"description": "Returns all template parameters used in the footnote template\nthat is the basis for the footnote identified by 'footnote_uid'. \nIncludes the available values per parameter.\n\nThe returned parameters are ordered\n0. as they occur in the footnote template\n\nPer parameter, the parameter.values are ordered by\n0. value.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same values) is included multiple times in the response.",
"operationId": "get_parameters_footnotes__footnote_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the footnote.",
"title": "Footnote Uid"
},
"description": "The unique id of the footnote."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Footnotes Footnote Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-pre-instances": {
"get": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Returns all Syntax Pre-Instances in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination",
"operationId": "footnote_pre_instances_footnote_pre_instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Footnote Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Footnote Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_FootnotePreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-pre-instances/headers": {
"get": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_footnote_pre_instances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Footnote Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Footnote Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Footnote Pre Instances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-pre-instances/audit-trail": {
"get": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_footnote_pre_instances_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_FootnotePreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-pre-instances/{footnote_pre_instance_uid}": {
"get": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Returns the latest/newest version of a specific footnote pre-instance identified by 'footnote_pre_instance_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_footnote_pre_instances__footnote_pre_instance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote pre-instance with the specified 'footnote_pre_instance_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Updates the Footnote Pre-Instance identified by 'footnote_pre_instance_uid'.",
"description": "This request is only valid if the Footnote Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n* The link to the footnote will remain as is.",
"operationId": "edit_footnote_pre_instances__footnote_pre_instance_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstanceEditInput",
"description": "The new parameter terms for the Footnote Pre-Instance, its indexings and the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Footnote Pre-Instance is not in draft status.\n- The Footnote Pre-Instance had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The Footnote Pre-Instance does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Footnote Pre-Instance with the specified 'footnote_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Deletes the Footnote Pre-Instance identified by 'footnote_pre_instance_uid'.",
"description": "This request is only valid if \n\n* the Footnote Pre-Instance is in 'Draft' status and\n* the Footnote Pre-Instance has never been in 'Final' status and\n* the Footnote Pre-Instance belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_footnote_pre_instances__footnote_pre_instance_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"responses": {
"204": {
"description": "No Content - The Footnote Pre-Instance was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Footnote Pre-Instance is not in draft status.\n- The Footnote Pre-Instance was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - A Footnote Pre-Instance with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-pre-instances/{footnote_pre_instance_uid}/indexings": {
"patch": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Updates the indexings of the Footnote Pre-Instance identified by 'footnote_pre_instance_uid'.",
"description": "This request is only valid if the Pre-Instance\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_footnote_pre_instances__footnote_pre_instance_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstanceIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this Pre-Instance were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Pre-Instance with the specified 'footnote_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-pre-instances/{footnote_pre_instance_uid}/versions": {
"get": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Returns the version history of a specific Footnote Pre-Instance identified by 'footnote_pre_instance_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_versions_footnote_pre_instances__footnote_pre_instance_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FootnotePreInstanceVersion"
},
"title": "Response Get Versions Footnote Pre Instances Footnote Pre Instance Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Footnote Pre-Instance with the specified 'footnote_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Creates a new version of the Footnote Pre-Instance identified by 'footnote_pre_instance_uid'.",
"description": "This request is only valid if the Footnote Pre-Instance\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_footnote_pre_instances__footnote_pre_instance_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Footnote Pre-Instance is not in final or retired status or has a draft status.\n- The Footnote Pre-Instance name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Footnote Pre-Instance with the specified 'footnote_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-pre-instances/{footnote_pre_instance_uid}/activations": {
"delete": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Inactivates/deactivates the footnote pre-instance identified by 'footnote_pre_instance_uid'.",
"description": "This request is only valid if the footnote pre-instance\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_footnote_pre_instances__footnote_pre_instance_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote pre-instance is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote pre-instance with the specified 'footnote_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Reactivates the footnote pre-instance identified by 'footnote_pre_instance_uid'.",
"description": "This request is only valid if the footnote pre-instance\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_footnote_pre_instances__footnote_pre_instance_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The footnote pre-instance is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The footnote pre-instance with the specified 'footnote_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/footnote-pre-instances/{footnote_pre_instance_uid}/approvals": {
"post": {
"tags": [
"Footnote Pre-Instances"
],
"summary": "Approves the Footnote Pre-Instance identified by 'footnote_pre_instance_uid'.",
"description": "This request is only valid if the Footnote Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_footnote_pre_instances__footnote_pre_instance_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "footnote_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Footnote Pre-Instance.",
"title": "Footnote Pre Instance Uid"
},
"description": "The unique id of the Footnote Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FootnotePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Footnote Pre-Instance is not in draft status.\n- The library doesn't allow to approve Footnote Pre-Instances.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Footnote Pre-Instance with the specified 'footnote_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates": {
"get": {
"tags": [
"Criteria Templates"
],
"summary": "Returns all criteria templates in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_criteria_templates_criteria_templates_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those criteria templates will be returned that are currently in the specified status. This may be particularly useful if the criteria template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those criteria templates will be returned that are currently in the specified status. This may be particularly useful if the criteria template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CriteriaTemplate_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n\n\n \n - \n e9117175-918f-489e-9a6e-65e0025233a6\n \"First [ComparatorIntervention]\n 2020-11-19T11:51:43.000Z\n Draft\n 0.2\n Test\n someone@example.com\n
\n \n\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Criteria Templates"
],
"summary": "Creates a new criteria template in 'Draft' status or returns the criteria template if it already exists.",
"description": "This request is only valid if the criteria template\n* belongs to a library that allows creating (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.\n* The criteria template will be linked to a library.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an criteria template may contain parameters, that can - and usually will - be replaced with concrete values once an criteria is created out of the criteria template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe criteria template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same criteria template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "create_criteria_template_criteria_templates_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplateCreateInput",
"description": "The criteria template that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The criteria template was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria template name is not valid.\n- The library doesn't allow to create criteria templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The library with the specified 'library_name' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/headers": {
"get": {
"tags": [
"Criteria Templates"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_criteria_templates_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those criteria templates will be returned that are currently in the specified status. This may be particularly useful if the criteria template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those criteria templates will be returned that are currently in the specified status. This may be particularly useful if the criteria template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Criteria Templates Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/audit-trail": {
"get": {
"tags": [
"Criteria Templates"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_criteria_templates_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CriteriaTemplate_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/{criteria_template_uid}": {
"get": {
"tags": [
"Criteria Templates"
],
"summary": "Returns the latest/newest version of a specific criteria template identified by 'criteria_template_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_criteria_template_criteria_templates__criteria_template_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplateWithCount"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Criteria Templates"
],
"summary": "Updates the criteria template identified by 'criteria_template_uid'.",
"description": "This request is only valid if the criteria template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n\nParameters in the 'name' property can only be changed if the criteria template has never been approved.\nOnce the criteria template has been approved, only the surrounding text (excluding the parameters) can be changed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an criteria template may contain parameters, that can - and usually will - be replaced with concrete values once an criteria is created out of the criteria template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe criteria template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same criteria template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "edit_criteria_templates__criteria_template_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplateEditInput",
"description": "The new content of the criteria template including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria template is not in draft status.\n- The criteria template name is not valid.\n- The library doesn't allow to edit draft versions.\n- The change of parameters of previously approved criteria templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Criteria Templates"
],
"summary": "Deletes the criteria template identified by 'criteria_template_uid'.",
"description": "This request is only valid if \n\n* the criteria template is in 'Draft' status and\n* the criteria template has never been in 'Final' status and\n* the criteria template has no references to any criteria and\n* the criteria template belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_criteria_template_criteria_templates__criteria_template_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"responses": {
"204": {
"description": "No Content - The criteria template was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria template is not in draft status.\n- The criteria template was already in final state or is in use.\n- The library doesn't allow to delete criteria templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An criteria template with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/{criteria_template_uid}/versions": {
"get": {
"tags": [
"Criteria Templates"
],
"summary": "Returns the version history of a specific criteria template identified by 'criteria_template_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first)\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_criteria_template_versions_criteria_templates__criteria_template_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CriteriaTemplateVersion"
},
"title": "Response Get Criteria Template Versions Criteria Templates Criteria Template Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n\n\n \n - \n First [ComparatorIntervention]\n 2020-11-19 11:51:43+00:00\n None\n Draft\n 0.2\n Test\n someone@example.com\n
\n - \n First [ComparatorIntervention]\n 2020-11-19 11:51:07+00:00\n 2020-11-19 11:51:43+00:00\n Draft\n 0.1\n Initial version\n someone@example.com\n
\n \n\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Criteria Templates"
],
"summary": "Creates a new version of the criteria template identified by 'criteria_template_uid'.",
"description": "This request is only valid if the criteria template\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_criteria_templates__criteria_template_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplateEditInput",
"description": "The content of the criteria template for the new 'Draft' version including the change description."
}
}
}
},
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria template is not in final or retired status or has a draft status.\n- The criteria template name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/{criteria_template_uid}/versions/{version}": {
"get": {
"tags": [
"Criteria Templates"
],
"summary": "Returns a specific version of a specific criteria template identified by 'criteria_template_uid' and 'version'.",
"description": "**Multiple versions**:\n\nTechnically, there can be multiple versions of the criteria template with the same version number. This is due to the fact, that the version number remains the same when inactivating or reactivating an criteria template (switching between 'Final' and 'Retired' status). \n\nIn that case the latest/newest representation is returned.",
"operationId": "get_criteria_template_version_criteria_templates__criteria_template_uid__versions__version__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "A specific version number of the criteria template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "A specific version number of the criteria template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' and 'version' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/{criteria_template_uid}/releases": {
"get": {
"tags": [
"Criteria Templates"
],
"summary": "List all final versions of a template identified by 'criteria_template_uid', including number of studies using a specific version",
"operationId": "get_criteria_template_releases_criteria_templates__criteria_template_uid__releases_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CriteriaTemplate"
},
"title": "Response Get Criteria Template Releases Criteria Templates Criteria Template Uid Releases Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/{criteria_template_uid}/indexings": {
"patch": {
"tags": [
"Criteria Templates"
],
"summary": "Updates the indexings of the criteria template identified by 'criteria_template_uid'.",
"description": "This request is only valid if the template\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_criteria_templates__criteria_template_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplateEditIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this template were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The template with the specified 'criteria_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/{criteria_template_uid}/approvals": {
"post": {
"tags": [
"Criteria Templates"
],
"summary": "Approves the criteria template identified by 'criteria_template_uid'.",
"description": "This request is only valid if the criteria template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_criteria_templates__criteria_template_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
},
{
"name": "cascade",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Cascade"
}
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria template is not in draft status.\n- The library doesn't allow to approve drafts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Conflict - there are criteria created from template and cascade is false",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/{criteria_template_uid}/activations": {
"delete": {
"tags": [
"Criteria Templates"
],
"summary": "Inactivates/deactivates the criteria template identified by 'criteria_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the criteria template\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_criteria_templates__criteria_template_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria template is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Criteria Templates"
],
"summary": "Reactivates the criteria template identified by 'criteria_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the criteria template\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_criteria_templates__criteria_template_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria template is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/{criteria_template_uid}/parameters": {
"get": {
"tags": [
"Criteria Templates"
],
"summary": "Returns all parameters used in the criteria template identified by 'criteria_template_uid'. Includes the available terms per parameter.",
"description": "The returned parameters are ordered\n0. as they occur in the criteria template\n\nPer parameter, the parameter.terms are ordered by\n0. term.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same terms) is included multiple times in the response.",
"operationId": "get_parameters_criteria_templates__criteria_template_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)",
"title": "Study Uid"
},
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Criteria Templates Criteria Template Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-templates/pre-validate": {
"post": {
"tags": [
"Criteria Templates"
],
"summary": "Validates the content of an criteria template without actually processing it.",
"description": "Be aware that - even if this request is accepted - there is no guarantee that\na following request to e.g. *[POST] /criteria-templates* or *[PATCH] /criteria-templates/{criteria_template_uid}*\nwith the same content will succeed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an criteria template may contain parameters, that can - and usually will - be replaced with concrete values once an criteria is created out of the criteria template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe criteria template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same criteria template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "pre_validate_criteria_templates_pre_validate_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaTemplatePreValidateInput",
"description": "The content of the criteria template that shall be validated."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Accepted. The content is valid and may be submitted in another request."
},
"400": {
"description": "Forbidden. The content is invalid - Reasons include e.g.: \n- The syntax of the 'name' is not valid.\n- One of the parameters wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/criteria-templates/{criteria_template_uid}/pre-instances": {
"post": {
"tags": [
"Criteria Templates"
],
"summary": "Create a Pre-Instance",
"operationId": "create_pre_instance_criteria_templates__criteria_template_uid__pre_instances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria template.",
"title": "Criteria Template Uid"
},
"description": "The unique id of the criteria template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstanceCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The criteria pre-instance was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria template is not in draft status.\n- The criteria template name is not valid.\n- The library doesn't allow to edit draft versions.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria template with the specified 'criteria_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-pre-instances": {
"get": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Returns all Syntax Pre-Instances in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination",
"operationId": "criteria_pre_instances_criteria_pre_instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Criteria Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Criteria Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CriteriaPreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-pre-instances/headers": {
"get": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_criteria_pre_instances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Criteria Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Criteria Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Criteria Pre Instances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-pre-instances/audit-trail": {
"get": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_criteria_pre_instances_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CriteriaPreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-pre-instances/{criteria_pre_instance_uid}": {
"get": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Returns the latest/newest version of a specific criteria pre-instance identified by 'criteria_pre_instance_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_criteria_pre_instances__criteria_pre_instance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria pre-instance with the specified 'criteria_pre_instance_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Updates the Criteria Pre-Instance identified by 'criteria_pre_instance_uid'.",
"description": "This request is only valid if the Criteria Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n* The link to the criteria will remain as is.",
"operationId": "edit_criteria_pre_instances__criteria_pre_instance_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstanceEditInput",
"description": "The new parameter terms for the Criteria Pre-Instance, its indexings and the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Criteria Pre-Instance is not in draft status.\n- The Criteria Pre-Instance had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The Criteria Pre-Instance does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Criteria Pre-Instance with the specified 'criteria_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Deletes the Criteria Pre-Instance identified by 'criteria_pre_instance_uid'.",
"description": "This request is only valid if \n\n* the Criteria Pre-Instance is in 'Draft' status and\n* the Criteria Pre-Instance has never been in 'Final' status and\n* the Criteria Pre-Instance belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_criteria_pre_instances__criteria_pre_instance_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"responses": {
"204": {
"description": "No Content - The Criteria Pre-Instance was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Criteria Pre-Instance is not in draft status.\n- The Criteria Pre-Instance was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - A Criteria Pre-Instance with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-pre-instances/{criteria_pre_instance_uid}/indexings": {
"patch": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Updates the indexings of the Criteria Pre-Instance identified by 'criteria_pre_instance_uid'.",
"description": "This request is only valid if the Pre-Instance\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_criteria_pre_instances__criteria_pre_instance_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstanceIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this Pre-Instance were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Pre-Instance with the specified 'criteria_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-pre-instances/{criteria_pre_instance_uid}/versions": {
"get": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Returns the version history of a specific Criteria Pre-Instance identified by 'criteria_pre_instance_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_versions_criteria_pre_instances__criteria_pre_instance_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CriteriaPreInstanceVersion"
},
"title": "Response Get Versions Criteria Pre Instances Criteria Pre Instance Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Criteria Pre-Instance with the specified 'criteria_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Creates a new version of the Criteria Pre-Instance identified by 'criteria_pre_instance_uid'.",
"description": "This request is only valid if the Criteria Pre-Instance\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_criteria_pre_instances__criteria_pre_instance_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Criteria Pre-Instance is not in final or retired status or has a draft status.\n- The Criteria Pre-Instance name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Criteria Pre-Instance with the specified 'criteria_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-pre-instances/{criteria_pre_instance_uid}/activations": {
"delete": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Inactivates/deactivates the criteria pre-instance identified by 'criteria_pre_instance_uid'.",
"description": "This request is only valid if the criteria pre-instance\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_criteria_pre_instances__criteria_pre_instance_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria pre-instance is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria pre-instance with the specified 'criteria_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Reactivates the criteria pre-instance identified by 'criteria_pre_instance_uid'.",
"description": "This request is only valid if the criteria pre-instance\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_criteria_pre_instances__criteria_pre_instance_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria pre-instance is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria pre-instance with the specified 'criteria_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria-pre-instances/{criteria_pre_instance_uid}/approvals": {
"post": {
"tags": [
"Criteria Pre-Instances"
],
"summary": "Approves the Criteria Pre-Instance identified by 'criteria_pre_instance_uid'.",
"description": "This request is only valid if the Criteria Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_criteria_pre_instances__criteria_pre_instance_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Criteria Pre-Instance.",
"title": "Criteria Pre Instance Uid"
},
"description": "The unique id of the Criteria Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Criteria Pre-Instance is not in draft status.\n- The library doesn't allow to approve Criteria Pre-Instances.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Criteria Pre-Instance with the specified 'criteria_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria": {
"get": {
"tags": [
"Criteria"
],
"summary": "Returns all final versions of criteria referenced by any study.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_criteria_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CriteriaWithType_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"objective\",\"template\",\"criteria\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"Objective\",\"First [ComparatorIntervention]\",\"First Intervention\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {},
"text/xml": {
"example": "\n\n\n \n - \n Sponsor\n 682d7003-8dcc-480d-b07b-878e659b8697\n Test template new [glucose metabolism] [MACE+] totot\n Criteria using [Activity] and [Indication]\n Criteria using [body weight] and [type 2 diabetes]\n 2020-11-26T13:43:23.000Z\n \n Draft\n 0.2\n Changed indication\n someone@example.com\n
\n \n\n"
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Criteria"
],
"summary": "Creates a new criteria in 'Draft' status.",
"description": "This request is only valid if\n* the specified criteria template is in 'Final' status and\n* the specified objective is in 'Final' status and\n* the specified library allows creating criteria (the 'is_editable' property of the library needs to be true) and\n* the criteria doesn't yet exist (no criteria with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.",
"operationId": "create_criteria_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaCreateInput",
"description": "Related parameters of the criteria that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The criteria was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Criteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The objective wasn't found or it is not in 'Final' status.\n- The library doesn't allow to create criteria.\n- The criteria does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The criteria template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria/headers": {
"get": {
"tags": [
"Criteria"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_criteria_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Criteria Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria/audit-trail": {
"get": {
"tags": [
"Criteria"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_criteria_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Criteria_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria/{criteria_uid}": {
"get": {
"tags": [
"Criteria"
],
"summary": "Returns the latest/newest version of a specific criteria identified by 'criteria_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_criteria__criteria_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria with the specified 'criteria_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Criteria"
],
"summary": "Updates the criteria identified by 'criteria_uid'.",
"description": "This request is only valid if the criteria\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_criteria__criteria_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaEditInput",
"description": "The new parameter terms for the criteria including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria is not in draft status.\n- The criteria had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The criteria does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria with the specified 'criteria_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Criteria"
],
"summary": "Deletes the criteria identified by 'criteria_uid'.",
"description": "This request is only valid if \n\n* the criteria is in 'Draft' status and\n* the criteria has never been in 'Final' status and\n* the criteria belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_criteria__criteria_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
}
],
"responses": {
"204": {
"description": "No Content - The criteria was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria is not in draft status.\n- The criteria was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An criteria with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria/{criteria_uid}/versions": {
"get": {
"tags": [
"Criteria"
],
"summary": "Returns the version history of a specific criteria identified by 'criteria_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_criteria__criteria_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CriteriaVersion"
},
"title": "Response Get Versions Criteria Criteria Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria with the specified 'criteria_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria/preview": {
"post": {
"tags": [
"Criteria"
],
"summary": "Previews the creation of a new criteria.",
"description": "This request is only valid if\n* the specified criteria template is in 'Final' status and\n* the specified library allows creating criteria (the 'is_editable' property of the library needs to be true) and\n* the criteria doesn't yet exist (no criteria with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* No criteria will be created, but the result of the request will show what the criteria will look like.",
"operationId": "preview_criteria_preview_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaCreateInput",
"description": "Related parameters of the criteria that shall be previewed."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success - The criteria is able to be created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Criteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create criteria.\n- The criteria does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The criteria template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/criteria/{criteria_uid}/approvals": {
"post": {
"tags": [
"Criteria"
],
"summary": "Approves the criteria identified by 'criteria_uid'.",
"description": "This request is only valid if the criteria\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_criteria__criteria_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria is not in draft status.\n- The library doesn't allow to approve criteria.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria with the specified 'criteria_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria/{criteria_uid}/activations": {
"delete": {
"tags": [
"Criteria"
],
"summary": "Inactivates/deactivates the criteria identified by 'criteria_uid'.",
"description": "This request is only valid if the criteria\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_criteria__criteria_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria with the specified 'criteria_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Criteria"
],
"summary": "Reactivates the criteria identified by 'criteria_uid'.",
"description": "This request is only valid if the criteria\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_criteria__criteria_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaWithType"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The criteria is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria with the specified 'criteria_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria/{criteria_uid}/studies": {
"get": {
"tags": [
"Criteria"
],
"summary": "Get Studies",
"operationId": "get_studies_criteria__criteria_uid__studies_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
},
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Include Sections"
},
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Exclude Sections"
},
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Study"
},
"title": "Response Get Studies Criteria Criteria Uid Studies Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The criteria with the specified 'criteria_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/criteria/{criteria_uid}/parameters": {
"get": {
"tags": [
"Criteria"
],
"summary": "Returns all template parameters available for the criteria identified by 'criteria_uid'. Includes the available values per parameter.",
"description": "Returns all template parameters used in the criteria template\nthat is the basis for the criteria identified by 'criteria_uid'. \nIncludes the available values per parameter.\n\nThe returned parameters are ordered\n0. as they occur in the criteria template\n\nPer parameter, the parameter.values are ordered by\n0. value.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same values) is included multiple times in the response.",
"operationId": "get_parameters_criteria__criteria_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the criteria.",
"title": "Criteria Uid"
},
"description": "The unique id of the criteria."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Criteria Criteria Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates": {
"get": {
"tags": [
"Objective Templates"
],
"summary": "Returns all objective templates in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_objective_templates_objective_templates_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ObjectiveTemplate_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n - e9117175-918f-489e-9a6e-65e0025233a6Alamakota2020-11-19T11:51:43.000ZDraft0.2Testsomeone@example.com
\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Objective Templates"
],
"summary": "Creates a new objective template in 'Draft' status or returns the objective template if it already exists.",
"description": "This request is only valid if the objective template\n* belongs to a library that allows creating (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.\n* The objective template will be linked to a library.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an objective template may contain parameters, that can - and usually will - be replaced with concrete values once an objective is created out of the objective template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe objective template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same objective template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "create_objective_template_objective_templates_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplateCreateInput",
"description": "The objective template that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The objective template was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective template name is not valid.\n- The library doesn't allow to create objective templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The library with the specified 'library_name' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/headers": {
"get": {
"tags": [
"Objective Templates"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_objective_templates_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Objective Templates Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/audit-trail": {
"get": {
"tags": [
"Objective Templates"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_objective_templates_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ObjectiveTemplate_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/{objective_template_uid}": {
"get": {
"tags": [
"Objective Templates"
],
"summary": "Returns the latest/newest version of a specific objective template identified by 'objective_template_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_objective_template_objective_templates__objective_template_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplateWithCount"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Objective Templates"
],
"summary": "Updates the objective template identified by 'objective_template_uid'.",
"description": "This request is only valid if the objective template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n\nParameters in the 'name' property can only be changed if the objective template has never been approved.\nOnce the objective template has been approved, only the surrounding text (excluding the parameters) can be changed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an objective template may contain parameters, that can - and usually will - be replaced with concrete values once an objective is created out of the objective template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe objective template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same objective template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "edit_objective_templates__objective_template_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplateEditInput",
"description": "The new content of the objective template including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective template is not in draft status.\n- The objective template name is not valid.\n- The library doesn't allow to edit draft versions.\n- The change of parameters of previously approved objective templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Objective Templates"
],
"summary": "Deletes the objective template identified by 'objective_template_uid'.",
"description": "This request is only valid if \n\n* the objective template is in 'Draft' status and\n* the objective template has never been in 'Final' status and\n* the objective template has no references to any objectives and\n* the objective template belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_objective_template_objective_templates__objective_template_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"responses": {
"204": {
"description": "No Content - The objective template was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective template is not in draft status.\n- The objective template was already in final state or is in use.\n- The library doesn't allow to delete objective templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An objective template with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/{objective_template_uid}/versions": {
"get": {
"tags": [
"Objective Templates"
],
"summary": "Returns the version history of a specific objective template identified by 'objective_template_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_objective_template_versions_objective_templates__objective_template_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectiveTemplateVersion"
},
"title": "Response Get Objective Template Versions Objective Templates Objective Template Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\";\"uid\";\"name\";\"start_date\";\"end_date\";\"status\";\"version\";\"change_description\";\"author_username\"\n\"Sponsor\";\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\";\"First [ComparatorIntervention]\";\"2020-10-22T10:19:29+00:00\";;\"Draft\";\"0.1\";\"Initial version\";\"NdSJ\"\n"
},
"text/xml": {
"example": "\n - Alamakota2020-11-19 11:51:43+00:00NoneDraft0.2Testsomeone@example.com
- Alamakota2020-11-19 11:51:07+00:002020-11-19 11:51:43+00:00Draft0.1Initial versionsomeone@example.com
\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Objective Templates"
],
"summary": "Creates a new version of the objective template identified by 'objective_template_uid'.",
"description": "This request is only valid if the objective template\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_objective_templates__objective_template_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplateEditInput",
"description": "The content of the objective template for the new 'Draft' version including the change description."
}
}
}
},
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective template is not in final or retired status or has a draft status.\n- The objective template name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/{objective_template_uid}/versions/{version}": {
"get": {
"tags": [
"Objective Templates"
],
"summary": "Returns a specific version of a specific objective template identified by 'objective_template_uid' and 'version'.",
"description": "**Multiple versions**:\n\nTechnically, there can be multiple versions of the objective template with the same version number. This is due to the fact, that the version number remains the same when inactivating or reactivating an objective template (switching between 'Final' and 'Retired' status). \n\nIn that case the latest/newest representation is returned.",
"operationId": "get_objective_template_version_objective_templates__objective_template_uid__versions__version__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "A specific version number of the objective template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "A specific version number of the objective template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' and 'version' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/{objective_template_uid}/releases": {
"get": {
"tags": [
"Objective Templates"
],
"summary": "List all final versions of a template identified by 'objective_template_uid', including number of studies using a specific version",
"operationId": "get_objective_template_releases_objective_templates__objective_template_uid__releases_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectiveTemplate"
},
"title": "Response Get Objective Template Releases Objective Templates Objective Template Uid Releases Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/{objective_template_uid}/indexings": {
"patch": {
"tags": [
"Objective Templates"
],
"summary": "Updates the indexings of the objective template identified by 'objective_template_uid'.",
"description": "This request is only valid if the template\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_objective_templates__objective_template_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplateEditIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this template were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The template with the specified 'objective_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/{objective_template_uid}/approvals": {
"post": {
"tags": [
"Objective Templates"
],
"summary": "Approves the objective template identified by 'objective_template_uid'.",
"description": "This request is only valid if the objective template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_objective_templates__objective_template_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
},
{
"name": "cascade",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Cascade"
}
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective template is not in draft status.\n- The library doesn't allow to approve drafts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Conflict - there are objectives created from template and cascade is false",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/{objective_template_uid}/activations": {
"delete": {
"tags": [
"Objective Templates"
],
"summary": "Inactivates/deactivates the objective template identified by 'objective_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the objective template\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_objective_templates__objective_template_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective template is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Objective Templates"
],
"summary": "Reactivates the objective template identified by 'objective_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the objective template\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_objective_templates__objective_template_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective template is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/{objective_template_uid}/parameters": {
"get": {
"tags": [
"Objective Templates"
],
"summary": "Returns all parameters used in the objective template identified by 'objective_template_uid'. Includes the available terms per parameter.",
"description": "The returned parameters are ordered\n0. as they occur in the objective template\n\nPer parameter, the parameter.terms are ordered by\n0. term.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same terms) is included multiple times in the response.",
"operationId": "get_parameters_objective_templates__objective_template_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)",
"title": "Study Uid"
},
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Objective Templates Objective Template Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-templates/pre-validate": {
"post": {
"tags": [
"Objective Templates"
],
"summary": "Validates the content of an objective template without actually processing it.",
"description": "Be aware that - even if this request is accepted - there is no guarantee that\na following request to e.g. *[POST] /objective-templates* or *[PATCH] /objective-templates/{objective_template_uid}*\nwith the same content will succeed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an objective template may contain parameters, that can - and usually will - be replaced with concrete values once an objective is created out of the objective template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe objective template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same objective template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "pre_validate_objective_templates_pre_validate_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveTemplatePreValidateInput",
"description": "The content of the objective template that shall be validated."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Accepted. The content is valid and may be submitted in another request."
},
"400": {
"description": "Forbidden. The content is invalid - Reasons include e.g.: \n- The syntax of the 'name' is not valid.\n- One of the parameters wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/objective-templates/{objective_template_uid}/pre-instances": {
"post": {
"tags": [
"Objective Templates"
],
"summary": "Create a Pre-Instance",
"operationId": "create_pre_instance_objective_templates__objective_template_uid__pre_instances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective template.",
"title": "Objective Template Uid"
},
"description": "The unique id of the objective template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstanceCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The objective pre-instance was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective template is not in draft status.\n- The objective template name is not valid.\n- The library doesn't allow to edit draft versions.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective template with the specified 'objective_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-pre-instances": {
"get": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Returns all Syntax Pre-Instances in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination",
"operationId": "objective_pre_instances_objective_pre_instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Objective Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Objective Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ObjectivePreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-pre-instances/headers": {
"get": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_objective_pre_instances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Objective Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Objective Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Objective Pre Instances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-pre-instances/audit-trail": {
"get": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_objective_pre_instances_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ObjectivePreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-pre-instances/{objective_pre_instance_uid}": {
"get": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Returns the latest/newest version of a specific objective pre-instance identified by 'objective_pre_instance_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_objective_pre_instances__objective_pre_instance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective pre-instance with the specified 'objective_pre_instance_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Updates the Objective Pre-Instance identified by 'objective_pre_instance_uid'.",
"description": "This request is only valid if the Objective Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n* The link to the objective will remain as is.",
"operationId": "edit_objective_pre_instances__objective_pre_instance_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstanceEditInput",
"description": "The new parameter terms for the Objective Pre-Instance, its indexings and the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Objective Pre-Instance is not in draft status.\n- The Objective Pre-Instance had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The Objective Pre-Instance does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Objective Pre-Instance with the specified 'objective_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Deletes the Objective Pre-Instance identified by 'objective_pre_instance_uid'.",
"description": "This request is only valid if \n\n* the Objective Pre-Instance is in 'Draft' status and\n* the Objective Pre-Instance has never been in 'Final' status and\n* the Objective Pre-Instance belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_objective_pre_instances__objective_pre_instance_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"responses": {
"204": {
"description": "No Content - The Objective Pre-Instance was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Objective Pre-Instance is not in draft status.\n- The Objective Pre-Instance was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An Objective Pre-Instance with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-pre-instances/{objective_pre_instance_uid}/indexings": {
"patch": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Updates the indexings of the Objective Pre-Instance identified by 'objective_pre_instance_uid'.",
"description": "This request is only valid if the Pre-Instance\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_objective_pre_instances__objective_pre_instance_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstanceIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this Pre-Instance were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Pre-Instance with the specified 'objective_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-pre-instances/{objective_pre_instance_uid}/versions": {
"get": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Returns the version history of a specific Objective Pre-Instance identified by 'objective_pre_instance_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_versions_objective_pre_instances__objective_pre_instance_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectivePreInstanceVersion"
},
"title": "Response Get Versions Objective Pre Instances Objective Pre Instance Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\",\"objective_template\",\"objective\",\"uid\",\"objective\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"First [ComparatorIntervention]\",\"Objective\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First Intervention\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {},
"text/xml": {
"example": "\n\n\n \n - \n Sponsor\n Objective using [Activity] and [Indication]\n Test template new [glucose metabolism] [MACE+] totot\n 682d7003-8dcc-480d-b07b-878e659b8697\n Objective using [body weight] and [type 2 diabetes]\n 2020-11-26T13:43:23.000Z\n \n Draft\n 0.2\n Changed indication\n someone@example.com\n
\n \n\n"
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Objective Pre-Instance with the specified 'objective_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Creates a new version of the Objective Pre-Instance identified by 'objective_pre_instance_uid'.",
"description": "This request is only valid if the Objective Pre-Instance\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_objective_pre_instances__objective_pre_instance_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Objective Pre-Instance is not in final or retired status or has a draft status.\n- The Objective Pre-Instance name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Objective Pre-Instance with the specified 'objective_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-pre-instances/{objective_pre_instance_uid}/activations": {
"delete": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Inactivates/deactivates the objective pre-instance identified by 'objective_pre_instance_uid'.",
"description": "This request is only valid if the objective pre-instance\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_objective_pre_instances__objective_pre_instance_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective pre-instance is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective pre-instance with the specified 'objective_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Reactivates the objective pre-instance identified by 'objective_pre_instance_uid'.",
"description": "This request is only valid if the objective pre-instance\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_objective_pre_instances__objective_pre_instance_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective pre-instance is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective pre-instance with the specified 'objective_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objective-pre-instances/{objective_pre_instance_uid}/approvals": {
"post": {
"tags": [
"Objective Pre-Instances"
],
"summary": "Approves the Objective Pre-Instance identified by 'objective_pre_instance_uid'.",
"description": "This request is only valid if the Objective Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_objective_pre_instances__objective_pre_instance_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Objective Pre-Instance.",
"title": "Objective Pre Instance Uid"
},
"description": "The unique id of the Objective Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectivePreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Objective Pre-Instance is not in draft status.\n- The library doesn't allow to approve Objective Pre-Instances.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Objective Pre-Instance with the specified 'objective_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives": {
"get": {
"tags": [
"Objectives"
],
"summary": "Returns all final versions of objectives referenced by any study.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_objectives_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Objective_"
}
},
"text/csv": {
"example": "\n\"library\",\"template\",\"uid\",\"objective\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"First [ComparatorIntervention]\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",First Intervention,\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Objectives"
],
"summary": "Creates a new objective in 'Draft' status.",
"description": "This request is only valid if\n* the specified objective template is in 'Final' status and\n* the specified library allows creating objectives (the 'is_editable' property of the library needs to be true) and\n* the objective doesn't yet exist (no objective with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.",
"operationId": "create_objectives_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveCreateInput",
"description": "Related parameters of the objective that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The objective was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Objective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create objectives.\n- The objective does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The objective template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives/headers": {
"get": {
"tags": [
"Objectives"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_objectives_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Objectives Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives/audit-trail": {
"get": {
"tags": [
"Objectives"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_objectives_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Objective_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives/{objective_uid}": {
"get": {
"tags": [
"Objectives"
],
"summary": "Returns the latest/newest version of a specific objective identified by 'objective_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_objectives__objective_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, the representation of the objective in that status is returned (if existent). This may be particularly useful if the objective has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, the representation of the objective in that status is returned (if existent). This may be particularly useful if the objective has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, the latest/newest representation of the objective in that version is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "If specified, the latest/newest representation of the objective in that version is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Objective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'objective_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Objectives"
],
"summary": "Updates the objective identified by 'objective_uid'.",
"description": "This request is only valid if the objective\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_objectives__objective_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveEditInput",
"description": "The new parameter terms for the objective including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Objective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in draft status.\n- The objective had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The objective does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'objective_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Objectives"
],
"summary": "Deletes the objective identified by 'objective_uid'.",
"description": "This request is only valid if \n\n* the objective is in 'Draft' status and\n* the objective has never been in 'Final' status and\n* the objective belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_objectives__objective_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"204": {
"description": "No Content - The objective was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in draft status.\n- The objective was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An objective with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives/{objective_uid}/versions": {
"get": {
"tags": [
"Objectives"
],
"summary": "Returns the version history of a specific objective identified by 'objective_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_objectives__objective_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ObjectiveVersion"
},
"title": "Response Get Versions Objectives Objective Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'objective_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives/{objective_uid}/studies": {
"get": {
"tags": [
"Objectives"
],
"summary": "Get Studies",
"operationId": "get_studies_objectives__objective_uid__studies_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
},
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Include Sections"
},
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Exclude Sections"
},
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Study"
},
"title": "Response Get Studies Objectives Objective Uid Studies Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'objective_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives/preview": {
"post": {
"tags": [
"Objectives"
],
"summary": "Previews the creation of a new objective.",
"description": "This request is only valid if\n* the specified objective template is in 'Final' status and\n* the specified library allows creating objectives (the 'is_editable' property of the library needs to be true) and\n* the objective doesn't yet exist (no objective with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* No objective will be created, but the result of the request will show what the objective will look like.",
"operationId": "preview_objectives_preview_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ObjectiveCreateInput",
"description": "Related parameters of the objective that shall be previewed."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success - The objective is able to be created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Objective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create objectives.\n- The objective does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The objective template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/objectives/{objective_uid}/approvals": {
"post": {
"tags": [
"Objectives"
],
"summary": "Approves the objective identified by 'objective_uid'.",
"description": "This request is only valid if the objective\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_objectives__objective_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Objective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in draft status.\n- The library doesn't allow to approve objective.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'objective_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives/{objective_uid}/activations": {
"delete": {
"tags": [
"Objectives"
],
"summary": "Inactivates/deactivates the objective identified by 'objective_uid'.",
"description": "This request is only valid if the objective\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_objectives__objective_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Objective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'objective_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Objectives"
],
"summary": "Reactivates the objective identified by 'objective_uid'.",
"description": "This request is only valid if the objective\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_objectives__objective_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Objective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The objective is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The objective with the specified 'objective_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/objectives/{objective_uid}/parameters": {
"get": {
"tags": [
"Objectives"
],
"summary": "Returns all template parameters available for the objective identified by 'objective_uid'. Includes the available values per parameter.",
"description": "Returns all template parameters used in the objective template that is the basis for the objective identified by 'objective_uid'. Includes the available values per parameter.",
"operationId": "get_parameters_objectives__objective_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the objective.",
"title": "Objective Uid"
},
"description": "The unique id of the objective."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)",
"title": "Study Uid"
},
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Objectives Objective Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates": {
"get": {
"tags": [
"Endpoint Templates"
],
"summary": "Returns all endpoint templates in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_endpoint_templates_endpoint_templates_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those endpoint templates will be returned that are currently in the specified status. This may be particularly useful if the endpoint template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those endpoint templates will be returned that are currently in the specified status. This may be particularly useful if the endpoint template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_EndpointTemplate_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\", <>\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n\n\n \n - \n e9117175-918f-489e-9a6e-65e0025233a6\n \"First [ComparatorIntervention]\n 2020-11-19T11:51:43.000Z\n Draft\n 0.2\n Test\n someone@example.com\n
\n \n\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Endpoint Templates"
],
"summary": "Creates a new endpoint template in 'Draft' status or returns the endpoint template if it already exists.",
"description": "This request is only valid if the endpoint template\n* belongs to a library that allows creating (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.\n* The endpoint template will be linked to a library.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an endpoint template may contain parameters, that can - and usually will - be replaced with concrete values once an endpoint is created out of the endpoint template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nSee the *[GET] /template-parameters/* endpoint for available parameters and their terms.\n\nThe endpoint template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same endpoint template 'name'.\n\n*Example*:\n\nname='This is my endpoint for [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "create_endpoint_template_endpoint_templates_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplateCreateInput",
"description": "The endpoint template that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The endpoint template was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint template name is not valid.\n- The library doesn't allow to create endpoint templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The library with the specified 'library_name' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/headers": {
"get": {
"tags": [
"Endpoint Templates"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_endpoint_templates_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Endpoint Templates Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/audit-trail": {
"get": {
"tags": [
"Endpoint Templates"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_endpoint_templates_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_EndpointTemplate_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/{endpoint_template_uid}": {
"get": {
"tags": [
"Endpoint Templates"
],
"summary": "Returns the latest/newest version of a specific endpoint template identified by 'endpoint_template_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_endpoint_template_endpoint_templates__endpoint_template_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplateWithCount"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Endpoint Templates"
],
"summary": "Updates the endpoint template identified by 'endpoint_template_uid'.",
"description": "This request is only valid if the endpoint template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n\nParameters in the 'name' property can only be changed if the endpoint template has never been approved.\nOnce the endpoint template has been approved, only the surrounding text (excluding the parameters) can be changed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an endpoint template may contain parameters, that can - and usually will - be replaced with concrete values once an endpoint is created out of the endpoint template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nSee the *[GET] /template-parameters/* endpoint for available parameters and their terms.\n\nThe endpoint template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same endpoint template 'name'.\n\n*Example*:\n\nname='This is my endpoint for [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "edit_endpoint_templates__endpoint_template_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplateEditInput",
"description": "The new content of the endpoint template including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint template is not in draft status.\n- The endpoint template name is not valid.\n- The library doesn't allow to edit draft versions.\n- The change of parameters of previously approved endpoint templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Endpoint Templates"
],
"summary": "Deletes the endpoint template identified by 'endpoint_template_uid'.",
"description": "This request is only valid if \n\n* the endpoint template is in 'Draft' status and\n* the endpoint template has never been in 'Final' status and\n* the endpoint template has no references to any endpoints and\n* the endpoint template belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_endpoint_template_endpoint_templates__endpoint_template_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"responses": {
"204": {
"description": "No Content - The endpoint template was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint template is not in draft status.\n- The endpoint template was already in final state or is in use.\n- The library doesn't allow to delete endpoint templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An endpoint template with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/{endpoint_template_uid}/versions": {
"get": {
"tags": [
"Endpoint Templates"
],
"summary": "Returns the version history of a specific endpoint template identified by 'endpoint_template_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_endpoint_template_versions_endpoint_templates__endpoint_template_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EndpointTemplateVersion"
},
"title": "Response Get Endpoint Template Versions Endpoint Templates Endpoint Template Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n\n\n \n - \n First [ComparatorIntervention]\n 2020-11-19 11:51:43+00:00\n None\n Draft\n 0.2\n Test\n someone@example.com\n
\n - \n First [ComparatorIntervention]\n 2020-11-19 11:51:07+00:00\n 2020-11-19 11:51:43+00:00\n Draft\n 0.1\n Initial version\n someone@example.com\n
\n \n\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Endpoint Templates"
],
"summary": "Creates a new version of the endpoint template identified by 'endpoint_template_uid'.",
"description": "This request is only valid if the endpoint template\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_endpoint_templates__endpoint_template_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplateEditInput",
"description": "The content of the endpoint template for the new 'Draft' version including the change description."
}
}
}
},
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint template is not in final or retired status or has a draft status.\n- The endpoint template name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/{endpoint_template_uid}/versions/{version}": {
"get": {
"tags": [
"Endpoint Templates"
],
"summary": "Returns a specific version of a specific activity instruction template identified by 'endpoint_template_uid' and 'version'.",
"description": "**Multiple versions**:\n\nTechnically, there can be multiple versions of the activity instruction template with the same version number. This is due to the fact, that the version number remains the same when inactivating or reactivating an activity instruction template (switching between 'Final' and 'Retired' status). \n\nIn that case the latest/newest representation is returned.",
"operationId": "get_endpoint_template_version_endpoint_templates__endpoint_template_uid__versions__version__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "A specific version number of the activity instruction template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "A specific version number of the activity instruction template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instruction template with the specified 'endpoint_template_uid' and 'version' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/{endpoint_template_uid}/releases": {
"get": {
"tags": [
"Endpoint Templates"
],
"summary": "List all final versions of a template identified by 'endpoint_template_uid', including number of studies using a specific version",
"operationId": "get_endpoint_template_releases_endpoint_templates__endpoint_template_uid__releases_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EndpointTemplate"
},
"title": "Response Get Endpoint Template Releases Endpoint Templates Endpoint Template Uid Releases Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/{endpoint_template_uid}/indexings": {
"patch": {
"tags": [
"Endpoint Templates"
],
"summary": "Updates the indexings of the endpoint template identified by 'endpoint_template_uid'.",
"description": "This request is only valid if the template\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_endpoint_templates__endpoint_template_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplateEditIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this template were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The template with the specified 'endpoint_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/{endpoint_template_uid}/approvals": {
"post": {
"tags": [
"Endpoint Templates"
],
"summary": "Approves the endpoint template identified by 'endpoint_template_uid'.",
"description": "This request is only valid if the endpoint template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_endpoint_templates__endpoint_template_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
},
{
"name": "cascade",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Cascade"
}
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint template is not in draft status.\n- The library doesn't allow to approve drafts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Conflict - there are objectives created from template and cascade is false",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/{endpoint_template_uid}/activations": {
"delete": {
"tags": [
"Endpoint Templates"
],
"summary": "Inactivates/deactivates the endpoint template identified by 'endpoint_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the endpoint template\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_endpoint_templates__endpoint_template_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint template is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Endpoint Templates"
],
"summary": "Reactivates the endpoint template identified by 'endpoint_template_uid' and its Pre-Instances.",
"description": "This request is only valid if the endpoint template\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_endpoint_templates__endpoint_template_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint template is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/{endpoint_template_uid}/parameters": {
"get": {
"tags": [
"Endpoint Templates"
],
"summary": "Returns all parameters used in the endpoint template identified by 'endpoint_template_uid'. Includes the available terms per parameter.",
"description": "The returned parameters are ordered\n0. as they occur in the endpoint template\n\nPer parameter, the parameter.terms are ordered by\n0. term.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same terms) is included multiple times in the response.",
"operationId": "get_parameters_endpoint_templates__endpoint_template_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)",
"title": "Study Uid"
},
"description": "Optionally, the uid of the study to subset the parameters to (e.g. for StudyEndpoints parameters)"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Endpoint Templates Endpoint Template Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-templates/pre-validate": {
"post": {
"tags": [
"Endpoint Templates"
],
"summary": "Validates the content of an endpoint template without actually processing it.",
"description": "Be aware that - even if this request is accepted - there is no guarantee that\na following request to e.g. *[POST] /endpoint-templates* or *[PATCH] /endpoint-templates/{endpoint_template_uid}*\nwith the same content will succeed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an endpoint template may contain parameters, that can - and usually will - be replaced with concrete values once an endpoint is created out of the endpoint template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nSee the *[GET] /template-parameters/* endpoint for available parameters and their terms.\n\nThe endpoint template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same endpoint template 'name'.\n\n*Example*:\n\nname='This is my endpoint for [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "pre_validate_endpoint_templates_pre_validate_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointTemplatePreValidateInput",
"description": "The content of the endpoint template that shall be validated."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Accepted. The content is valid and may be submitted in another request."
},
"400": {
"description": "Forbidden. The content is invalid - Reasons include e.g.: \n- The syntax of the 'name' is not valid.\n- One of the parameters wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/endpoint-templates/{endpoint_template_uid}/pre-instances": {
"post": {
"tags": [
"Endpoint Templates"
],
"summary": "Create a Pre-Instance",
"operationId": "create_pre_instance_endpoint_templates__endpoint_template_uid__pre_instances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint template.",
"title": "Endpoint Template Uid"
},
"description": "The unique id of the endpoint template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstanceCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The endpoint pre-instance was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint template is not in draft status.\n- The endpoint template name is not valid.\n- The library doesn't allow to edit draft versions.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint template with the specified 'endpoint_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-pre-instances": {
"get": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Returns all Syntax Pre-Instances in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination",
"operationId": "get_endpoint_pre_instances_endpoint_pre_instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Endpoint Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Endpoint Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_EndpointPreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-pre-instances/headers": {
"get": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_endpoint_pre_instances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Endpoint Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'.",
"title": "Status"
},
"description": "If specified, only those Syntax Pre-Instances will be returned that are currently in the specified status. This may be particularly useful if the Endpoint Pre-Instance has a 'Draft' and a 'Final' status or and you are interested in the 'Final' status.\nValid values are: 'Final' or 'Draft'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Endpoint Pre Instances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-pre-instances/audit-trail": {
"get": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_endpoint_pre_instances_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_EndpointPreInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-pre-instances/{endpoint_pre_instance_uid}": {
"get": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Returns the latest/newest version of a specific endpoint pre-instance identified by 'endpoint_pre_instance_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_endpoint_pre_instances__endpoint_pre_instance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint pre-instance with the specified 'endpoint_pre_instance_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Updates the Endpoint Pre-Instance identified by 'endpoint_pre_instance_uid'.",
"description": "This request is only valid if the Endpoint Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n* The link to the objective will remain as is.",
"operationId": "edit_endpoint_pre_instances__endpoint_pre_instance_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstanceEditInput",
"description": "The new parameter terms for the Endpoint Pre-Instance, its indexings and the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Endpoint Pre-Instance is not in draft status.\n- The Endpoint Pre-Instance had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The Endpoint Pre-Instance does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Endpoint Pre-Instance with the specified 'endpoint_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Deletes the Endpoint Pre-Instance identified by 'endpoint_pre_instance_uid'.",
"description": "This request is only valid if \n\n* the Endpoint Pre-Instance is in 'Draft' status and\n* the Endpoint Pre-Instance has never been in 'Final' status and\n* the Endpoint Pre-Instance belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_endpoint_pre_instances__endpoint_pre_instance_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"responses": {
"204": {
"description": "No Content - The Endpoint Pre-Instance was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Endpoint Pre-Instance is not in draft status.\n- The Endpoint Pre-Instance was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An Endpoint Pre-Instance with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-pre-instances/{endpoint_pre_instance_uid}/indexings": {
"patch": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Updates the indexings of the Endpoint Pre-Instance identified by 'endpoint_pre_instance_uid'.",
"description": "This request is only valid if the pre-instance\n * belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n \n This is version independent : it won't trigger a status or a version change.",
"operationId": "patch_indexings_endpoint_pre_instances__endpoint_pre_instance_uid__indexings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstanceIndexingsInput",
"description": "The lists of UIDs for the new indexings to be set, grouped by indexings to be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The indexings for this pre-instance were successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The pre-instance with the specified 'endpoint_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-pre-instances/{endpoint_pre_instance_uid}/versions": {
"get": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Returns the version history of a specific Endpoint Pre-Instance identified by 'endpoint_pre_instance_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_versions_endpoint_pre_instances__endpoint_pre_instance_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EndpointPreInstanceVersion"
},
"title": "Response Get Versions Endpoint Pre Instances Endpoint Pre Instance Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Endpoint Pre-Instance with the specified 'endpoint_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Creates a new version of the Endpoint Pre-Instance identified by 'endpoint_pre_instance_uid'.",
"description": "This request is only valid if the Endpoint Pre-Instance\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_endpoint_pre_instances__endpoint_pre_instance_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Endpoint Pre-Instance is not in final or retired status or has a draft status.\n- The Endpoint Pre-Instance name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Endpoint Pre-Instance with the specified 'endpoint_pre_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-pre-instances/{endpoint_pre_instance_uid}/activations": {
"delete": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Inactivates/deactivates the endpoint pre-instance identified by 'endpoint_pre_instance_uid'.",
"description": "This request is only valid if the endpoint pre-instance\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_endpoint_pre_instances__endpoint_pre_instance_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint pre-instance is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint pre-instance with the specified 'endpoint_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Reactivates the endpoint pre-instance identified by 'endpoint_pre_instance_uid'.",
"description": "This request is only valid if the endpoint pre-instance\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_endpoint_pre_instances__endpoint_pre_instance_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint pre-instance is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint pre-instance with the specified 'endpoint_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoint-pre-instances/{endpoint_pre_instance_uid}/approvals": {
"post": {
"tags": [
"Endpoint Pre-Instances"
],
"summary": "Approves the Endpoint Pre-Instance identified by 'endpoint_pre_instance_uid'.",
"description": "This request is only valid if the Endpoint Pre-Instance\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_endpoint_pre_instances__endpoint_pre_instance_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_pre_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Endpoint Pre-Instance.",
"title": "Endpoint Pre Instance Uid"
},
"description": "The unique id of the Endpoint Pre-Instance."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointPreInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The Endpoint Pre-Instance is not in draft status.\n- The library doesn't allow to approve Endpoint Pre-Instances.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The Endpoint Pre-Instance with the specified 'endpoint_pre_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints": {
"get": {
"tags": [
"Endpoints"
],
"summary": "Returns all final versions of endpoints referenced by any study.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_endpoints_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Endpoint_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"objective\",\"template\",\"endpoint\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"Objective\",\"First [ComparatorIntervention]\",\"First Intervention\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {},
"text/xml": {
"example": "\n\n\n \n - \n Sponsor\n 682d7003-8dcc-480d-b07b-878e659b8697\n Test template new [glucose metabolism] [MACE+] totot\n Endpoint using [Activity] and [Indication]\n Endpoint using [body weight] and [type 2 diabetes]\n 2020-11-26T13:43:23.000Z\n \n Draft\n 0.2\n Changed indication\n someone@example.com\n
\n \n\n"
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Endpoints"
],
"summary": "Creates a new endpoint in 'Draft' status.",
"description": "This request is only valid if\n* the specified endpoint template is in 'Final' status and\n* the specified objective is in 'Final' status and\n* the specified library allows creating endpoints (the 'is_editable' property of the library needs to be true) and\n* the endpoint doesn't yet exist (no endpoint with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.",
"operationId": "create_endpoints_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointCreateInput",
"description": "Related parameters of the endpoint that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The endpoint was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The objective wasn't found or it is not in 'Final' status.\n- The library doesn't allow to create endpoints.\n- The endpoint does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The endpoint template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints/headers": {
"get": {
"tags": [
"Endpoints"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_endpoints_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Endpoints Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints/audit-trail": {
"get": {
"tags": [
"Endpoints"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_endpoints_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Endpoint_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints/{endpoint_uid}": {
"get": {
"tags": [
"Endpoints"
],
"summary": "Returns the latest/newest version of a specific endpoint identified by 'endpoint_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_endpoints__endpoint_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint with the specified 'endpoint_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Endpoints"
],
"summary": "Updates the endpoint identified by 'endpoint_uid'.",
"description": "This request is only valid if the endpoint\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n* The link to the objective will remain as is.",
"operationId": "edit_endpoints__endpoint_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointEditInput",
"description": "The new parameter terms for the endpoint including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint is not in draft status.\n- The endpoint had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The endpoint does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint with the specified 'endpoint_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Endpoints"
],
"summary": "Deletes the endpoint identified by 'endpoint_uid'.",
"description": "This request is only valid if \n\n* the endpoint is in 'Draft' status and\n* the endpoint has never been in 'Final' status and\n* the endpoint belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_endpoints__endpoint_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
}
],
"responses": {
"204": {
"description": "No Content - The endpoint was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint is not in draft status.\n- The endpoint was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An endpoint with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints/{endpoint_uid}/versions": {
"get": {
"tags": [
"Endpoints"
],
"summary": "Returns the version history of a specific endpoint identified by 'endpoint_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_versions_endpoints__endpoint_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/EndpointVersion"
},
"title": "Response Get Versions Endpoints Endpoint Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\",\"template\",\"objective\",\"uid\",\"endpoint\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"First [ComparatorIntervention]\",\"Objective\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First Intervention\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {},
"text/xml": {
"example": "\n\n\n \n - \n Sponsor\n Endpoint using [Activity] and [Indication]\n Test template new [glucose metabolism] [MACE+] totot\n 682d7003-8dcc-480d-b07b-878e659b8697\n Endpoint using [body weight] and [type 2 diabetes]\n 2020-11-26T13:43:23.000Z\n \n Draft\n 0.2\n Changed indication\n someone@example.com\n
\n \n\n"
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint with the specified 'endpoint_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints/{endpoint_uid}/studies": {
"get": {
"tags": [
"Endpoints"
],
"summary": "Get Studies",
"operationId": "get_studies_endpoints__endpoint_uid__studies_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
},
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Include Sections"
},
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Exclude Sections"
},
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Study"
},
"title": "Response Get Studies Endpoints Endpoint Uid Studies Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint with the specified 'endpoint_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints/preview": {
"post": {
"tags": [
"Endpoints"
],
"summary": "Previews the creation of a new endpoint.",
"description": "This request is only valid if\n* the specified endpoint template is in 'Final' status and\n* the specified library allows creating endpoints (the 'is_editable' property of the library needs to be true) and\n* the endpoint doesn't yet exist (no endpoint with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* No endpoint will be created, but the result of the request will show what the endpoint will look like.",
"operationId": "preview_endpoints_preview_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/EndpointCreateInput",
"description": "Related parameters of the endpoint that shall be previewed."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success - The endpoint is able to be created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create endpoints.\n- The endpoint does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The endpoint template with the specified 'template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/endpoints/{endpoint_uid}/approvals": {
"post": {
"tags": [
"Endpoints"
],
"summary": "Approves the endpoint identified by 'endpoint_uid'.",
"description": "This request is only valid if the endpoint\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_endpoints__endpoint_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint is not in draft status.\n- The library doesn't allow to approve endpoints.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint with the specified 'endpoint_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints/{endpoint_uid}/activations": {
"delete": {
"tags": [
"Endpoints"
],
"summary": "Inactivates/deactivates the endpoint identified by 'endpoint_uid'.",
"description": "This request is only valid if the endpoint\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_endpoints__endpoint_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint with the specified 'endpoint_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Endpoints"
],
"summary": "Reactivates the endpoint identified by 'endpoint_uid'.",
"description": "This request is only valid if the endpoint\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_endpoints__endpoint_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Endpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The endpoint is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The endpoint with the specified 'endpoint_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/endpoints/{endpoint_uid}/parameters": {
"get": {
"tags": [
"Endpoints"
],
"summary": "Returns all template parameters available for the endpoint identified by 'endpoint_uid'. Includes the available values per parameter.",
"description": "Returns all template parameters used in the endpoint template\nthat is the basis for the endpoint identified by 'endpoint_uid'. \nIncludes the available values per parameter.\n\nThe returned parameters are ordered\n0. as they occur in the endpoint template\n\nPer parameter, the parameter.values are ordered by\n0. value.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same values) is included multiple times in the response.",
"operationId": "get_parameters_endpoints__endpoint_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the endpoint.",
"title": "Endpoint Uid"
},
"description": "The unique id of the endpoint."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Endpoints Endpoint Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates": {
"get": {
"tags": [
"Timeframe templates"
],
"summary": "Returns all timeframe templates in their latest/newest version.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_timeframe_templates_timeframe_templates_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those timeframe templates will be returned that are currently in the specified status. This may be particularly useful if the timeframe template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those timeframe templates will be returned that are currently in the specified status. This may be particularly useful if the timeframe template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_TimeframeTemplate_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n - e9117175-918f-489e-9a6e-65e0025233a6Alamakota2020-11-19T11:51:43.000ZDraft0.2Testsomeone@example.com
\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Timeframe templates"
],
"summary": "Creates a new timeframe template in 'Draft' status or returns the timeframe template if it already exists.",
"description": "This request is only valid if the timeframe template\n* belongs to a library that allows creating (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.\n* The timeframe template will be linked to a library.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an timeframe template may contain parameters, that can - and usually will - be replaced with concrete values once an timeframe is created out of the timeframe template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe timeframe template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same timeframe template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "create_timeframe_template_timeframe_templates_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplateCreateInput",
"description": "The timeframe template that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The timeframe template was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe template name is not valid.\n- The library doesn't allow to create timeframe templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The library with the specified 'library_name' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/headers": {
"get": {
"tags": [
"Timeframe templates"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_timeframe_templates_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those timeframe templates will be returned that are currently in the specified status. This may be particularly useful if the timeframe template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those timeframe templates will be returned that are currently in the specified status. This may be particularly useful if the timeframe template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Timeframe Templates Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/audit-trail": {
"get": {
"tags": [
"Timeframe templates"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_timeframe_templates_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_TimeframeTemplate_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/{timeframe_template_uid}": {
"get": {
"tags": [
"Timeframe templates"
],
"summary": "Returns the latest/newest version of a specific timeframe template identified by 'timeframe_template_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_timeframe_template_timeframe_templates__timeframe_template_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplateWithCount"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe template with the specified 'timeframe_template_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Timeframe templates"
],
"summary": "Updates the timeframe template identified by 'timeframe_template_uid'.",
"description": "This request is only valid if the timeframe template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.\n\nParameters in the 'name' property can only be changed if the timeframe template has never been approved.\nOnce the timeframe template has been approved, only the surrounding text (excluding the parameters) can be changed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an timeframe template may contain parameters, that can - and usually will - be replaced with concrete values once an timeframe is created out of the timeframe template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe timeframe template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same timeframe template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "edit_timeframe_templates__timeframe_template_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplateEditInput",
"description": "The new content of the timeframe template including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe template is not in draft status.\n- The timeframe template name is not valid.\n- The library doesn't allow to edit draft versions.\n- The change of parameters of previously approved timeframe templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe template with the specified 'timeframe_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Timeframe templates"
],
"summary": "Deletes the timeframe template identified by 'timeframe_template_uid'.",
"description": "This request is only valid if \n\n* the timeframe template is in 'Draft' status and\n* the timeframe template has never been in 'Final' status and\n* the timeframe template has no references to any timeframes and\n* the timeframe template belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_timeframe_template_timeframe_templates__timeframe_template_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
}
],
"responses": {
"204": {
"description": "No Content - The timeframe template was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe template is not in draft status.\n- The timeframe template was already in final state or is in use.\n- The library doesn't allow to delete timeframe templates.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An timeframe template with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/{timeframe_template_uid}/versions": {
"get": {
"tags": [
"Timeframe templates"
],
"summary": "Returns the version history of a specific timeframe template identified by 'timeframe_template_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first).\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_timeframe_template_versions_timeframe_templates__timeframe_template_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimeframeTemplateVersion"
},
"title": "Response Get Timeframe Template Versions Timeframe Templates Timeframe Template Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\";\"uid\";\"name\";\"start_date\";\"end_date\";\"status\";\"version\";\"change_description\";\"author_username\"\n\"Sponsor\";\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\";\"First [ComparatorIntervention]\";\"2020-10-22T10:19:29+00:00\";;\"Draft\";\"0.1\";\"Initial version\";\"NdSJ\"\n"
},
"text/xml": {
"example": "\n - Alamakota2020-11-19 11:51:43+00:00NoneDraft0.2Testsomeone@example.com
- Alamakota2020-11-19 11:51:07+00:002020-11-19 11:51:43+00:00Draft0.1Initial versionsomeone@example.com
\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe template with the specified 'timeframe_template_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Timeframe templates"
],
"summary": "Creates a new version of the timeframe template identified by 'timeframe_template_uid'.",
"description": "This request is only valid if the timeframe template\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n\nParameters in the 'name' property cannot be changed with this request.\nOnly the surrounding text (excluding the parameters) can be changed.",
"operationId": "create_new_version_timeframe_templates__timeframe_template_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplateEditInput",
"description": "The content of the timeframe template for the new 'Draft' version including the change description."
}
}
}
},
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe template is not in final or retired status or has a draft status.\n- The timeframe template name is not valid.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe template with the specified 'timeframe_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/{timeframe_template_uid}/versions/{version}": {
"get": {
"tags": [
"Timeframe templates"
],
"summary": "Returns a specific version of a specific timeframe template identified by 'timeframe_template_uid' and 'version'.",
"description": "**Multiple versions**:\n\nTechnically, there can be multiple versions of the timeframe template with the same version number. This is due to the fact, that the version number remains the same when inactivating or reactivating an timeframe template (switching between 'Final' and 'Retired' status). \n\nIn that case the latest/newest representation is returned.",
"operationId": "get_timeframe_template_version_timeframe_templates__timeframe_template_uid__versions__version__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "A specific version number of the timeframe template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "A specific version number of the timeframe template. The version number is specified in the following format: \\.\\ where \\ and \\ are digits.\nE.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe template with the specified 'timeframe_template_uid' and 'version' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/{timeframe_template_uid}/approvals": {
"post": {
"tags": [
"Timeframe templates"
],
"summary": "Approves the timeframe template identified by 'timeframe_template_uid'.",
"description": "This request is only valid if the timeframe template\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\nIf timeframe template has any related objects status will not be updated but item will be extended with \nrelated item counts.\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_timeframe_templates__timeframe_template_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
},
{
"name": "cascade",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Cascade"
}
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe template is not in draft status.\n- The library doesn't allow to approve drafts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe template with the specified 'timeframe_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Conflict - there are timeframes created from template and cascade is false",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/{timeframe_template_uid}/activations": {
"delete": {
"tags": [
"Timeframe templates"
],
"summary": "Inactivates/deactivates the timeframe template identified by 'timeframe_template_uid'.",
"description": "This request is only valid if the timeframe template\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will remain the same as before.",
"operationId": "inactivate_timeframe_templates__timeframe_template_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe template is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe template with the specified 'timeframe_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Timeframe templates"
],
"summary": "Reactivates the timeframe template identified by 'timeframe_template_uid'.",
"description": "This request is only valid if the timeframe template\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will remain the same as before.",
"operationId": "reactivate_timeframe_templates__timeframe_template_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe template is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe template with the specified 'timeframe_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/{timeframe_template_uid}/parameters": {
"get": {
"tags": [
"Timeframe templates"
],
"summary": "Returns all parameters used in the timeframe template identified by 'timeframe_template_uid'. Includes the available values per parameter.",
"description": "The returned parameters are ordered\n0. as they occur in the timeframe template\n\nPer parameter, the parameter.values are ordered by\n0. value.name ascending\n\nNote that parameters may be used multiple times in templates.\nIn that case, the same parameter (with the same values) is included multiple times in the response.",
"operationId": "get_parameters_timeframe_templates__timeframe_template_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_template_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe template.",
"title": "Timeframe Template Uid"
},
"description": "The unique id of the timeframe template."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "if specified only valid parameters for a given study will be returned.",
"title": "Study Uid"
},
"description": "if specified only valid parameters for a given study will be returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Timeframe Templates Timeframe Template Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframe-templates/pre-validate": {
"post": {
"tags": [
"Timeframe templates"
],
"summary": "Validates the content of an timeframe template without actually processing it.",
"description": "Be aware that - even if this request is accepted - there is no guarantee that\na following request to e.g. *[POST] /timeframe-templates* or *[PATCH] /timeframe-templates/{timeframe_template_uid}*\nwith the same content will succeed.\n\n**Parameters in the 'name' property**:\n\nThe 'name' of an timeframe template may contain parameters, that can - and usually will - be replaced with concrete values once an timeframe is created out of the timeframe template.\n\nParameters are referenced by simple strings in square brackets [] that match existing parameters defined in the MDR repository.\n\nThe timeframe template will be linked to those parameters defined in the 'name' property.\n\nYou may use an arbitrary number of parameters and you may use the same parameter multiple times within the same timeframe template 'name'.\n\n*Example*:\n\nname='MORE TESTING of the superiority in the efficacy of [Intervention] with [Activity] and [Activity] in [Timeframe].'\n\n'Intervention', 'Activity' and 'Timeframe' are parameters.",
"operationId": "pre_validate_timeframe_templates_pre_validate_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeTemplatePreValidateInput",
"description": "The content of the timeframe template that shall be validated."
}
}
},
"required": true
},
"responses": {
"204": {
"description": "Accepted. The content is valid and may be submitted in another request."
},
"400": {
"description": "Forbidden. The content is invalid - Reasons include e.g.: \n- The syntax of the 'name' is not valid.\n- One of the parameters wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/timeframes": {
"get": {
"tags": [
"Timeframes"
],
"summary": "Returns all timeframes in their latest/newest version.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_timeframes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those timeframes will be returned that are currently in the specified status. This may be particularly useful if the timeframe has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those timeframes will be returned that are currently in the specified status. This may be particularly useful if the timeframe has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Timeframe_"
}
},
"text/csv": {
"example": "\n\"library\",\"template\",\"uid\",\"timeframe\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"First [ComparatorIntervention]\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",First Intervention,\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Timeframes"
],
"summary": "Creates a new timeframe in 'Draft' status.",
"description": "This request is only valid if\n* the specified timeframe template is in 'Final' status and\n* the specified library allows creating timeframes (the 'is_editable' property of the library needs to be true) and\n* the timeframe doesn't yet exist (no timeframe with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.",
"operationId": "create_timeframes_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeCreateInput",
"description": "Related parameters of the timeframe that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The timeframe was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Timeframe"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create timeframes.\n- The timeframe does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The timeframe template with the specified 'timeframe_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframes/headers": {
"get": {
"tags": [
"Timeframes"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_timeframes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, only those objective templates will be returned that are currently in the specified status. This may be particularly useful if the objective template has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Timeframes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframes/audit-trail": {
"get": {
"tags": [
"Timeframes"
],
"summary": "Retrieve Audit Trail",
"operationId": "retrieve_audit_trail_timeframes_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n\nIf any provided search term for a given field name is other than a string type, then equal operator will automatically be applied overriding any provided operator.\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Timeframe_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframes/{timeframe_uid}": {
"get": {
"tags": [
"Timeframes"
],
"summary": "Returns the latest/newest version of a specific timeframe identified by 'timeframe_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_timeframes__timeframe_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, the representation of the timeframe in that status is returned (if existent). This may be particularly useful if the timeframe has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, the representation of the timeframe in that status is returned (if existent). This may be particularly useful if the timeframe has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, the latest/newest representation of the timeframe in that version is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "If specified, the latest/newest representation of the timeframe in that version is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Timeframe"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe with the specified 'timeframe_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Timeframes"
],
"summary": "Updates the timeframe identified by 'timeframe_uid'.",
"description": "This request is only valid if the timeframe\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_timeframes__timeframe_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeEditInput",
"description": "The new parameter terms for the timeframe including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Timeframe"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe is not in draft status.\n- The timeframe had been in 'Final' status before.\n- The provided list of parameters is invalid.\n- The library doesn't allow to edit draft versions.\n- The timeframe does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe with the specified 'timeframe_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Timeframes"
],
"summary": "Deletes the timeframe identified by 'timeframe_uid'.",
"description": "This request is only valid if \n\n* the timeframe is in 'Draft' status and\n* the timeframe has never been in 'Final' status and\n* the timeframe belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_timeframes__timeframe_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
}
],
"responses": {
"204": {
"description": "No Content - The timeframe was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe is not in draft status.\n- The timeframe was already in final state or is in use.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An timeframe with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframes/{timeframe_uid}/versions": {
"get": {
"tags": [
"Timeframes"
],
"summary": "Returns the version history of a specific timeframe identified by 'timeframe_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_timeframes__timeframe_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TimeframeVersion"
},
"title": "Response Get Versions Timeframes Timeframe Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe with the specified 'timeframe_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframes/preview": {
"post": {
"tags": [
"Timeframes"
],
"summary": "Previews the creation of a new timeframe.",
"description": "This request is only valid if\n* the specified timeframe template is in 'Final' status and\n* the specified library allows creating timeframe (the 'is_editable' property of the library needs to be true) and\n* the timeframe doesn't yet exist (no timeframe with the same content in 'Final' or 'Draft' status).\n\nIf the request succeeds:\n* No timeframe will be created, but the result of the request will show what the timeframe will look like.",
"operationId": "preview_timeframes_preview_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimeframeCreateInput",
"description": "Related parameters of the timeframe that shall be previewed."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Success - The timeframe is able to be created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Timeframe"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The provided list of parameters is invalid.\n- The library doesn't allow to create timeframes.\n- The timeframe does already exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The library with the specified 'library_name' could not be found.\n- The timeframe template with the specified 'timeframe_template_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/timeframes/{timeframe_uid}/approvals": {
"post": {
"tags": [
"Timeframes"
],
"summary": "Approves the timeframe identified by 'timeframe_uid'.",
"description": "This request is only valid if the timeframe\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_timeframes__timeframe_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Timeframe"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe is not in draft status.\n- The library doesn't allow to approve timeframe.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe with the specified 'timeframe_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframes/{timeframe_uid}/activations": {
"delete": {
"tags": [
"Timeframes"
],
"summary": "Inactivates/deactivates the timeframe identified by 'timeframe_uid'.",
"description": "This request is only valid if the timeframe\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_timeframes__timeframe_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Timeframe"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe with the specified 'timeframe_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Timeframes"
],
"summary": "Reactivates the timeframe identified by 'timeframe_uid'.",
"description": "This request is only valid if the timeframe\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_timeframes__timeframe_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Timeframe"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The timeframe is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe with the specified 'timeframe_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframes/{timeframe_uid}/studies": {
"get": {
"tags": [
"Timeframes"
],
"summary": "Get Studies",
"operationId": "get_studies_timeframes__timeframe_uid__studies_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
},
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Include Sections"
},
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Exclude Sections"
},
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Study"
},
"title": "Response Get Studies Timeframes Timeframe Uid Studies Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The timeframe with the specified 'timeframe_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/timeframes/{timeframe_uid}/parameters": {
"get": {
"tags": [
"Timeframes"
],
"summary": "Returns all template parameters available for the timeframe identified by 'timeframe_uid'. Includes the available values per parameter.",
"description": "Returns all template parameters used in the timeframe template that is the basis for the timeframe identified by 'timeframe_uid'. Includes the available values per parameter.",
"operationId": "get_parameters_timeframes__timeframe_uid__parameters_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "timeframe_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the timeframe.",
"title": "Timeframe Uid"
},
"description": "The unique id of the timeframe."
},
{
"name": "study_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "if specified only valid parameters for a given study will be returned.",
"title": "Study Uid"
},
"description": "if specified only valid parameters for a given study will be returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"title": "Response Get Parameters Timeframes Timeframe Uid Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/libraries": {
"get": {
"tags": [
"Libraries"
],
"summary": "Returns all libraries",
"operationId": "get_libraries_libraries_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "is_editable",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "If specified, only those libraries are returned that are editable. \nValid values are: 'true' or 'false'.",
"title": "Is Editable"
},
"description": "If specified, only those libraries are returned that are editable. \nValid values are: 'true' or 'false'."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Library"
},
"title": "Response Get Libraries Libraries Get"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Libraries"
],
"summary": "Creates a new library.",
"operationId": "create_library_libraries_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Library"
}
}
}
},
"responses": {
"201": {
"description": "Created - The library was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Library"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/catalogues": {
"get": {
"tags": [
"CT Catalogues"
],
"summary": "Returns all controlled terminology catalogues.",
"operationId": "get_catalogues_ct_catalogues_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only catalogues from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only catalogues from given library are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CTCatalogue"
},
"title": "Response Get Catalogues Ct Catalogues Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/catalogues/changes": {
"get": {
"tags": [
"CT Catalogues"
],
"summary": "List changes between codelists and terms in CT Catalogues.",
"operationId": "get_catalogues_changes_ct_catalogues_changes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comparison_type",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The type of the comparison.\nValid types are `attributes` or `sponsor`",
"title": "Comparison Type"
},
"description": "The type of the comparison.\nValid types are `attributes` or `sponsor`",
"examples": {
"attributes": {
"value": "attributes"
},
"sponsor": {
"value": "sponsor"
}
}
},
{
"name": "start_datetime",
"in": "query",
"required": true,
"schema": {
"type": "string",
"format": "date-time",
"description": "The start datetime to perform comparison (ISO 8601 format with UTC offset)",
"title": "Start Datetime"
},
"description": "The start datetime to perform comparison (ISO 8601 format with UTC offset)",
"examples": {
"2023-03-26T00:00:00+00:00": {
"value": "2023-03-26T00:00:00+00:00"
}
}
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists and terms from given library_name are compared.",
"title": "Library Name"
},
"description": "If specified, only codelists and terms from given library_name are compared."
},
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists and terms from given catalogue_name are compared.",
"title": "Catalogue Name"
},
"description": "If specified, only codelists and terms from given catalogue_name are compared."
},
{
"name": "end_datetime",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "The end datetime to perform comparison (ISO 8601 format with UTC offset).\nIf it is not passed, then the current datetime is assigned.",
"title": "End Datetime"
},
"description": "The end datetime to perform comparison (ISO 8601 format with UTC offset).\nIf it is not passed, then the current datetime is assigned.",
"examples": {
"2023-03-27T00:00:00+00:00": {
"value": "2023-03-27T00:00:00+00:00"
}
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCatalogueChanges"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/packages": {
"get": {
"tags": [
"CT Packages"
],
"summary": "Returns all controlled terminology packages.",
"operationId": "get_packages_ct_packages_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only packages from given catalogue are returned.",
"title": "Catalogue Name"
},
"description": "If specified, only packages from given catalogue are returned."
},
{
"name": "standards_only",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If set to True, only standard packages are returned. Defaults to True",
"default": true,
"title": "Standards Only"
},
"description": "If set to True, only standard packages are returned. Defaults to True"
},
{
"name": "sponsor_only",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If set to True, only sponsor packages are returned.",
"default": false,
"title": "Sponsor Only"
},
"description": "If set to True, only sponsor packages are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CTPackage"
},
"title": "Response Get Packages Ct Packages Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/packages/changes": {
"get": {
"tags": [
"CT Packages"
],
"summary": "Returns changes between codelists and terms inside two different packages.",
"operationId": "get_packages_changes_between_codelists_and_terms_ct_packages_changes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Catalogue Name"
}
},
{
"name": "old_package_date",
"in": "query",
"required": true,
"schema": {
"type": "string",
"format": "date",
"description": "The date for the old package, for instance '2020-03-27'\n_the possible dates for given catalogue_name can be retrieved by the /ct/packages/dates endpoint",
"title": "Old Package Date"
},
"description": "The date for the old package, for instance '2020-03-27'\n_the possible dates for given catalogue_name can be retrieved by the /ct/packages/dates endpoint"
},
{
"name": "new_package_date",
"in": "query",
"required": true,
"schema": {
"type": "string",
"format": "date",
"description": "The datetime for the new package, for instance '2020-06-26'\n_the possible dates for given catalogue_name can be retrieved by the /ct/packages/dates endpoint",
"title": "New Package Date"
},
"description": "The datetime for the new package, for instance '2020-06-26'\n_the possible dates for given catalogue_name can be retrieved by the /ct/packages/dates endpoint"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTPackageChanges"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/packages/{codelist_uid}/changes": {
"get": {
"tags": [
"CT Packages"
],
"summary": "Returns changes from given codelist and all associated terms inside two different packages.",
"operationId": "get_packages_changes_between_codelist_and_all_associated_terms_ct_packages__codelist_uid__changes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelist",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelist"
},
{
"name": "catalogue_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Catalogue Name"
}
},
{
"name": "old_package_date",
"in": "query",
"required": true,
"schema": {
"type": "string",
"format": "date",
"description": "The date for the old package, for instance '2020-03-27'\n_the possible dates for given catalogue_name can be retrieved by the /ct/packages/dates endpoint",
"title": "Old Package Date"
},
"description": "The date for the old package, for instance '2020-03-27'\n_the possible dates for given catalogue_name can be retrieved by the /ct/packages/dates endpoint"
},
{
"name": "new_package_date",
"in": "query",
"required": true,
"schema": {
"type": "string",
"format": "date",
"description": "The date for the new package, for instance '2020-06-26'\n_the possible dates for given catalogue_name can be retrieved by the /ct/packages/dates endpoint",
"title": "New Package Date"
},
"description": "The date for the new package, for instance '2020-06-26'\n_the possible dates for given catalogue_name can be retrieved by the /ct/packages/dates endpoint"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTPackageChangesSpecificCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/packages/dates": {
"get": {
"tags": [
"CT Packages"
],
"summary": "Returns all effective dates for packages in a given catalogue.",
"operationId": "get_package_dates_ct_packages_dates_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Catalogue Name"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTPackageDates"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/packages/sponsor": {
"post": {
"tags": [
"CT Packages"
],
"summary": "Creates a sponsor CT package, in the context of a study.",
"operationId": "create_ct_packages_sponsor_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Body_create_ct_packages_sponsor_post"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Created - The sponsor package was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTPackage"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Cannot create two CT Sponsor Packages with the same date.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found - Reasons include: \n- The parent package doesn't exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/ct/codelists": {
"post": {
"tags": [
"CT Codelists"
],
"summary": "Creates new codelist.",
"description": "The following nodes are created\n* CTCodelistRoot\n * CTCodelistAttributesRoot\n * CTCodelistAttributesValue\n * CTCodelistNameRoot\n * CTCodelistNameValue",
"operationId": "create_ct_codelists_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistCreateInput",
"description": "Properties to create CTCodelistAttributes and CTCodelistName."
}
}
}
},
"responses": {
"201": {
"description": "Created - The codelist was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The catalogue doesn't exist.\n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns all codelists names and attributes.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_codelists_ct_codelists_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned.",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only codelists from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given package are returned.",
"title": "Package"
},
"description": "If specified, only codelists from given package are returned."
},
{
"name": "is_sponsor",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean value to indicate desired package is a sponsor package. Defaults to False.",
"default": false,
"title": "Is Sponsor"
},
"description": "Boolean value to indicate desired package is a sponsor package. Defaults to False."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "term_filter",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {}
},
{
"type": "null"
}
],
"description": "JSON dictionary consisting of `term_uids` key and `operator` key. Default: `{}` (no term filtering).\n\n`term_uids` Specifies a list of of CT Term UIDs to filter on. Only Codelists with terms with provided UIDs will be returned.\n\n`operator` specifies which logical operation - `and` or `or` - should be used in case multiple CT Term UIDs are provided. Default: `and`",
"title": "Term Filter"
},
"description": "JSON dictionary consisting of `term_uids` key and `operator` key. Default: `{}` (no term filtering).\n\n`term_uids` Specifies a list of of CT Term UIDs to filter on. Only Codelists with terms with provided UIDs will be returned.\n\n`operator` specifies which logical operation - `and` or `or` - should be used in case multiple CT Term UIDs are provided. Default: `and`",
"examples": {
"none": {
"summary": "No term filtering"
},
"basic": {
"value": "{\"term_uids\": [\"C12345\"], \"operator\": \"and\"}",
"summary": "Filter by the provided CT Term UIDs"
}
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTCodelistNameAndAttributes_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/full-text-search": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Searches codelists using full-text search on submission value.",
"description": "Returns a compact list of codelists matching the search string, with optional filtering for response codelists and ordinal codelists.",
"operationId": "search_codelists_fulltext_ct_codelists_full_text_search_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "search_string",
"in": "query",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"description": "The search string to use for full-text search on submission value.",
"title": "Search String"
},
"description": "The search string to use for full-text search on submission value."
},
{
"name": "only_response_codelists",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If True, only return codelists that are valid for items (response codelists).",
"default": false,
"title": "Only Response Codelists"
},
"description": "If True, only return codelists that are valid for items (response codelists)."
},
{
"name": "only_ordinal_codelists",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If True, only return ordinal codelists.",
"default": false,
"title": "Only Ordinal Codelists"
},
"description": "If True, only return ordinal codelists."
},
{
"name": "match_whole_words",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If True, match whole words only in the search.",
"default": false,
"title": "Match Whole Words"
},
"description": "If True, match whole words only in the search."
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTCodelistCompact_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/full-text-search-by-term": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Searches codelists by term using full-text search.",
"description": "Searches terms using full-text search and returns codelists containing those terms, with optional filtering for response codelists and ordinal codelists.",
"operationId": "search_codelists_fulltext_by_term_ct_codelists_full_text_search_by_term_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "search_string",
"in": "query",
"required": true,
"schema": {
"type": "string",
"minLength": 1,
"description": "The search string to use for full-text search on term name and attributes.",
"title": "Search String"
},
"description": "The search string to use for full-text search on term name and attributes."
},
{
"name": "only_response_codelists",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If True, only return codelists that are valid for items (response codelists).",
"default": false,
"title": "Only Response Codelists"
},
"description": "If True, only return codelists that are valid for items (response codelists)."
},
{
"name": "only_ordinal_codelists",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If True, only return ordinal codelists.",
"default": false,
"title": "Only Ordinal Codelists"
},
"description": "If True, only return ordinal codelists."
},
{
"name": "match_whole_words",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If True, match whole words only in the search.",
"default": false,
"title": "Match Whole Words"
},
"description": "If True, match whole words only in the search."
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTCodelistCompact_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/sub-codelists": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns all sub codelists names and attributes that only have the provided terms.",
"operationId": "get_sub_codelists_that_have_given_terms_ct_codelists__codelist_uid__sub_codelists_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistRoot",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistRoot"
},
{
"name": "term_uids",
"in": "query",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of term uids",
"title": "Term Uids"
},
"description": "A list of term uids"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only codelists from given library are returned."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTCodelistNameAndAttributes_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/paired": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns any codelist paired with the specified one.",
"operationId": "get_paired_codelists_ct_codelists__codelist_uid__paired_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistRoot",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistRoot"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistPaired"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"CT Codelists"
],
"summary": "Update any codelist paired with the specified one.",
"operationId": "update_paired_codelist_ct_codelists__codelist_uid__paired_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistRoot",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistRoot"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistPairedInput",
"description": "Properties to pair codelists"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistPaired"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/paired-codelists": {
"post": {
"tags": [
"CT Codelists"
],
"summary": "Creates a new set of paired codelists.",
"description": "Creates two codelists (one for names, one for codes) and links them as paired codelists.\nEach codelist gets its own name, submission_value, nci_preferred_name, definition, and sponsor_preferred_name\nvia the name_information and code_information fields respectively.",
"operationId": "create_paired_codelists_ct_paired_codelists_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTPairedCodelistCreateInput",
"description": "Properties to create a set of paired codelists (names and codes)."
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Created - The paired codelists were successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistPaired"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The catalogue doesn't exist.\n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/ct/paired-codelists/{codelist_uid}/terms": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns terms from the paired codelists identified by the given codelist UID.",
"description": "Returns the list of all terms coming from the codelist specified by the given UID and its paired codelist. Each term includes both the code_submission_value (from the codes codelist) and the name_submission_value (from the names codelist).",
"operationId": "get_paired_codelist_terms_ct_paired_codelists__codelist_uid__terms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistRoot",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistRoot"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTPairedCodelistTerm_"
}
}
}
},
"400": {
"description": "Bad Request - The codelist does not have a paired codelist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/headers": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_ct_codelists_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned.",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "is_sponsor",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean value to indicate desired package is a sponsor package. Defaults to False.",
"default": false,
"title": "Is Sponsor"
},
"description": "Boolean value to indicate desired package is a sponsor package. Defaults to False."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Ct Codelists Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/terms": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "List the CTTerms of a CTCodelist.",
"operationId": "get_codelist_terms_ct_codelists__codelist_uid__terms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistRoot",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistRoot"
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given package are returned.",
"title": "Package"
},
"description": "If specified, only codelists from given package are returned."
},
{
"name": "include_removed",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Include removed terms in the lisiting.",
"default": false,
"title": "Include Removed"
},
"description": "Include removed terms in the lisiting."
},
{
"name": "at_specific_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified, return the terms that were part of the codelist at the specified date and time in format YYYY-MM-DDThh:mm:ss+hh:mm'",
"title": "At Specific Date Time"
},
"description": "If specified, return the terms that were part of the codelist at the specified date and time in format YYYY-MM-DDThh:mm:ss+hh:mm'"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTCodelistTerm_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"CT Codelists"
],
"summary": "Adds new CTTerm to CTCodelist.",
"operationId": "add_term_ct_codelists__codelist_uid__terms_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistRoot",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistRoot"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistTermInput",
"description": "UID of the CTTermRoot node."
}
}
}
},
"responses": {
"201": {
"description": "The HAS_TERM relationship was successfully created.\nThe TemplateParameter labels and HAS_PARAMETER_TERM relationship were successfully added if codelist identified by codelist_uid is a TemplateParameter.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The codelist doesn't exist.\n- The term doesn't exist.\n- The codelist is not extensible.\n- The codelist already has passed term.\n- The term submission value is a new one for this term.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/terms": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "List the CTTerms of a CTCodelist identified either by codelist uid, submission value or name",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_codelist_terms_by_name_or_submval_ct_codelists_terms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "UID of the codelist.",
"title": "Codelist Uid"
},
"description": "UID of the codelist."
},
{
"name": "codelist_submission_value",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Submission value of the codelist.",
"title": "Codelist Submission Value"
},
"description": "Submission value of the codelist."
},
{
"name": "codelist_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Name of the codelist.",
"title": "Codelist Name"
},
"description": "Name of the codelist."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given package are returned.",
"title": "Package"
},
"description": "If specified, only codelists from given package are returned."
},
{
"name": "include_removed",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Include removed terms in the lisiting.",
"default": false,
"title": "Include Removed"
},
"description": "Include removed terms in the lisiting."
},
{
"name": "at_specific_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified, return the terms that were part of the codelist at the specified date and time in format YYYY-MM-DDThh:mm:ss+hh:mm'",
"title": "At Specific Date Time"
},
"description": "If specified, return the terms that were part of the codelist at the specified date and time in format YYYY-MM-DDThh:mm:ss+hh:mm'"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTCodelistTerm_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/terms/{term_uid}": {
"delete": {
"tags": [
"CT Codelists"
],
"summary": "Removes given CTTerm from CTCodelist.",
"operationId": "remove_term_ct_codelists__codelist_uid__terms__term_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistRoot",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistRoot"
},
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Codelist Term",
"title": "Term Uid"
},
"description": "The unique id of the Codelist Term"
}
],
"responses": {
"200": {
"description": "The HAS_TERM relationship was successfully ended.\nThe HAS_PARAMETER_TERM relationship was successfully deleted if codelist identified by codelist_uid is a TemplateParameter",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelist"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The codelist doesn't exist.\n- The term doesn't exist.\n- The codelist is not extensible.\n- The codelist doesn't have passed term.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/terms/headers": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_term_values_for_header_ct_codelists_terms_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "query",
"required": true,
"schema": {
"type": "string",
"title": "Codelist Uid"
}
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given package are returned.",
"title": "Package"
},
"description": "If specified, only codelists from given package are returned."
},
{
"name": "include_removed",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Include removed terms in the lisiting.",
"default": false,
"title": "Include Removed"
},
"description": "Include removed terms in the lisiting."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Term Values For Header Ct Codelists Terms Headers Get"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/attributes": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns all codelists attributes.",
"operationId": "get_codelists_ct_codelists_attributes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned.",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only codelists from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given package are returned.",
"title": "Package"
},
"description": "If specified, only codelists from given package are returned."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTCodelistAttributes_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/attributes/headers": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_ct_codelists_attributes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned.",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Ct Codelists Attributes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/attributes": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns the latest/newest version of a specific codelist identified by 'codelist_uid'",
"operationId": "get_codelist_attributes_ct_codelists__codelist_uid__attributes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistAttributes",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistAttributes"
},
{
"name": "at_specified_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the sponsor defined name for CTCodelistAttributesValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed.",
"title": "At Specified Date Time"
},
"description": "If specified then the latest/newest representation of the sponsor defined name for CTCodelistAttributesValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified then the representation of the sponsor defined name for CTCodelistAttributesValue in that status is returned (if existent).\n_this is useful if the CTCodelistAttributesValue has a status 'Draft' and a status 'Final'.",
"title": "Status"
},
"description": "If specified then the representation of the sponsor defined name for CTCodelistAttributesValue in that status is returned (if existent).\n_this is useful if the CTCodelistAttributesValue has a status 'Draft' and a status 'Final'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the sponsor defined name for CTCodelistAttributesValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',",
"title": "Version"
},
"description": "If specified then the latest/newest representation of the sponsor defined name for CTCodelistAttributesValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"CT Codelists"
],
"summary": "Updates the codelist identified by 'codelist_uid'.",
"description": "This request is only valid if the codelist\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_ct_codelists__codelist_uid__attributes_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistAttributes",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistAttributes"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistAttributesEditInput",
"description": "The new parameter terms for the codelist including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The codelist is not in draft status.\n- The codelist had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/attributes/versions": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns the version history of a specific CTCodelistAttributes identified by 'codelist_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_ct_codelists__codelist_uid__attributes_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistAttributes",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistAttributes"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CTCodelistAttributesVersion"
},
"title": "Response Get Versions Ct Codelists Codelist Uid Attributes Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"CT Codelists"
],
"summary": "Creates a new codelist in 'Draft' status.",
"description": "This request is only valid if\n* the specified codelist is in 'Final' status and\n* the specified library allows creating codelists (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically to 'new-version'.\n* The 'version' property will be increased by '0.1'.",
"operationId": "create_ct_codelists__codelist_uid__attributes_versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistAttributes",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistAttributes"
}
],
"responses": {
"201": {
"description": "Created - The codelist was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create codelists.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The codelist is not in final status.\n- The codelist with the specified 'codelist_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/attributes/approvals": {
"post": {
"tags": [
"CT Codelists"
],
"summary": "Approves the codelist identified by 'codelist_uid'.",
"description": "This request is only valid if the codelist\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically to 'Approved version'.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_ct_codelists__codelist_uid__attributes_approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistAttributes",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistAttributes"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The codelist is not in draft status.\n- The library doesn't allow to approve codelist.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/names": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns all codelists names.",
"operationId": "get_codelists_ct_codelists_names_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned.",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only codelists from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given package are returned.",
"title": "Package"
},
"description": "If specified, only codelists from given package are returned."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTCodelistName_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/names/headers": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_ct_codelists_names_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned.",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Ct Codelists Names Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/names": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns the latest/newest version of a specific codelist identified by 'codelist_uid'",
"operationId": "get_codelist_names_ct_codelists__codelist_uid__names_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistName",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistName"
},
{
"name": "at_specified_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the sponsor defined name for CTCodelistNameValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed.",
"title": "At Specified Date Time"
},
"description": "If specified then the latest/newest representation of the sponsor defined name for CTCodelistNameValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified then the representation of the sponsor defined name for CTCodelistNameValue in that status is returned (if existent).\n_this is useful if the CTCodelistNameValue has a status 'Draft' and a status 'Final'.",
"title": "Status"
},
"description": "If specified then the representation of the sponsor defined name for CTCodelistNameValue in that status is returned (if existent).\n_this is useful if the CTCodelistNameValue has a status 'Draft' and a status 'Final'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the sponsor defined name for CTCodelistNameValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',",
"title": "Version"
},
"description": "If specified then the latest/newest representation of the sponsor defined name for CTCodelistNameValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"CT Codelists"
],
"summary": "Updates the codelist identified by 'codelist_uid'.",
"description": "This request is only valid if the codelist\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_ct_codelists__codelist_uid__names_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistName",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistName"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistNameEditInput",
"description": "The new parameter terms for the codelist including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The codelist is not in draft status.\n- The codelist had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/names/versions": {
"get": {
"tags": [
"CT Codelists"
],
"summary": "Returns the version history of a specific CTCodelistName identified by 'codelist_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_ct_codelists__codelist_uid__names_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistName",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistName"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CTCodelistNameVersion"
},
"title": "Response Get Versions Ct Codelists Codelist Uid Names Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"CT Codelists"
],
"summary": "Creates a new codelist in 'Draft' status.",
"description": "This request is only valid if\n* the specified codelist is in 'Final' status and\n* the specified library allows creating codelists (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically to 'new-version'.\n* The 'version' property will be increased by '0.1'.",
"operationId": "create_ct_codelists__codelist_uid__names_versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistName",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistName"
}
],
"responses": {
"201": {
"description": "Created - The codelist was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create codelists.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The codelist is not in final status.\n- The codelist with the specified 'codelist_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/codelists/{codelist_uid}/names/approvals": {
"post": {
"tags": [
"CT Codelists"
],
"summary": "Approves the codelist identified by 'codelist_uid'.",
"description": "This request is only valid if the codelist\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically to 'Approved version'.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_ct_codelists__codelist_uid__names_approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTCodelistName",
"title": "Codelist Uid"
},
"description": "The unique id of the CTCodelistName"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTCodelistName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The codelist is not in draft status.\n- The library doesn't allow to approve codelist.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms": {
"post": {
"tags": [
"CT Terms"
],
"summary": "Creates new ct term.",
"description": "The following nodes are created\n* CTTermRoot\n * CTTermAttributesRoot\n * CTTermAttributesValue\n * CTTermNameRoot\n * CTTermNameValue",
"operationId": "create_ct_terms_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermCreateInput",
"description": "Properties to create CTTermAttributes and CTTermName."
}
}
}
},
"responses": {
"201": {
"description": "Created - The term was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The catalogue doesn't exist.\n- The library doesn't exist..\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns all terms names and attributes.",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_terms_ct_terms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Uid"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "codelist_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Name"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "is_sponsor",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean value to indicate desired package is a sponsor package. Defaults to False.",
"default": false,
"title": "Is Sponsor"
},
"description": "Boolean value to indicate desired package is a sponsor package. Defaults to False."
},
{
"name": "include_removed_terms",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean value to indicate whether or not to include terms removed from codelists. Defaults to False.",
"default": false,
"title": "Include Removed Terms"
},
"description": "Boolean value to indicate whether or not to include terms removed from codelists. Defaults to False."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTTermNameAndAttributes_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/headers": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_ct_terms_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "codelist_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Uid"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "codelist_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Name"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "lite",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether to use the lightweight implementation of this endpoint, which doesn't support `filters` and `operator` parameters.",
"default": false,
"title": "Lite"
},
"description": "Whether to use the lightweight implementation of this endpoint, which doesn't support `filters` and `operator` parameters."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Ct Terms Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/parents": {
"post": {
"tags": [
"CT Terms"
],
"summary": "Adds a CT Term Root node as a parent to the selected term node.",
"operationId": "add_parent_ct_terms__term_uid__parents_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ct term.",
"title": "Term Uid"
},
"description": "The unique id of the ct term."
},
{
"name": "parent_uid",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The unique id for the parent node.",
"title": "Parent Uid"
},
"description": "The unique id for the parent node."
},
{
"name": "relationship_type",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The type of the parent relationship.\nValid types are 'type' or 'subtype' or 'predecessor'",
"title": "Relationship Type"
},
"description": "The type of the parent relationship.\nValid types are 'type' or 'subtype' or 'predecessor'"
}
],
"responses": {
"201": {
"description": "Created - The term was successfully added as a parent to the term identified by term-uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term already has a defined parent of the same type.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term-uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"CT Terms"
],
"summary": "Removes a parent term from the selected term node",
"operationId": "remove_parent_ct_terms__term_uid__parents_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ct term.",
"title": "Term Uid"
},
"description": "The unique id of the ct term."
},
{
"name": "parent_uid",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The unique id for the parent node.",
"title": "Parent Uid"
},
"description": "The unique id for the parent node."
},
{
"name": "relationship_type",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The type of the parent relationship.\nValid types are 'type' or 'subtype' or 'predecessor'",
"title": "Relationship Type"
},
"description": "The type of the parent relationship.\nValid types are 'type' or 'subtype' or 'predecessor'"
}
],
"responses": {
"200": {
"description": "Created - The term was successfully removed as a parent to the term identified by term-uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTerm"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term already has no defined parent with given parent-uid and relationship type.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term-uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns the latest/newest version of the codelists that the ct term identified by 'term_uid' is included in",
"operationId": "get_term_parents_ct_terms__term_uid__parents_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ct term.",
"title": "Term Uid"
},
"description": "The unique id of the ct term."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermRelatives"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/codelists": {
"patch": {
"tags": [
"CT Terms"
],
"summary": "Change an order of codelist-term relationship",
"description": "Reordering will create new HAS_TERM relationship.",
"operationId": "patch_new_term_codelist_ct_terms__term_uid__codelists_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ct term.",
"title": "Term Uid"
},
"description": "The unique id of the ct term."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermNewCodelist",
"description": "Parameters needed for the reorder action."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermNewCodelist"
}
}
}
},
"400": {
"description": "Forbidden - Order is larger than the number of selections",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - When there exist no study endpoint with the study endpoint uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns the latest/newest version of the codelists that the ct term identified by 'term_uid' is included in",
"operationId": "get_term_codelists_ct_terms__term_uid__codelists_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ct term.",
"title": "Term Uid"
},
"description": "The unique id of the ct term."
},
{
"name": "at_specified_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the CTTermAttributesValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed.",
"title": "At Specified Date Time"
},
"description": "If specified then the latest/newest representation of the CTTermAttributesValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermCodelists"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/attributes": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns all terms attributes.",
"operationId": "get_terms_ct_terms_attributes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Uid"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "codelist_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Name"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "in_codelist",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If false, all terms are returned even those not connected to a codelist. If true, only terms connected to at least one codelist are returned.",
"default": false,
"title": "In Codelist"
},
"description": "If false, all terms are returned even those not connected to a codelist. If true, only terms connected to at least one codelist are returned."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CTTermAttributes_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/attributes/headers": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_ct_terms_attributes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "codelist_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Uid"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "codelist_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Name"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Ct Terms Attributes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/attributes": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns the latest/newest version of a specific ct term identified by 'term_uid'",
"operationId": "get_term_attributes_ct_terms__term_uid__attributes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermAttributes",
"title": "Term Uid"
},
"description": "The unique id of the CTTermAttributes"
},
{
"name": "at_specified_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the CTTermAttributesValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed.",
"title": "At Specified Date Time"
},
"description": "If specified then the latest/newest representation of the CTTermAttributesValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified then the representation of the CTTermAttributesValue in that status is returned (if existent).\n_this is useful if the CTTermAttributesValue has a status 'Draft' and a status 'Final'.",
"title": "Status"
},
"description": "If specified then the representation of the CTTermAttributesValue in that status is returned (if existent).\n_this is useful if the CTTermAttributesValue has a status 'Draft' and a status 'Final'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the for CTTermAttributesValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',",
"title": "Version"
},
"description": "If specified then the latest/newest representation of the for CTTermAttributesValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"CT Terms"
],
"summary": "Updates the term identified by 'term_uid'.",
"description": "This request is only valid if the term\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_ct_terms__term_uid__attributes_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermAttributes",
"title": "Term Uid"
},
"description": "The unique id of the CTTermAttributes"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermAttributesEditInput",
"description": "The new parameter terms for the term including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in draft status.\n- The term had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"CT Terms"
],
"summary": "Deletes the term identified by 'term_uid'.",
"description": "This request is only valid if \n\n* the term is in 'Draft' status and\n* the term has never been in 'Final' status and\n* the term belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_ct_term_ct_terms__term_uid__attributes_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermAttributes",
"title": "Term Uid"
},
"description": "The unique id of the CTTermAttributes"
}
],
"responses": {
"204": {
"description": "No Content - The term was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in draft status.\n- The term was already in final state or is in use.\n- The library doesn't allow to delete term.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An term with the specified 'term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/attributes/versions": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns the version history of a specific CTTermAttributes identified by 'term_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_ct_terms__term_uid__attributes_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermAttributes",
"title": "Term Uid"
},
"description": "The unique id of the CTTermAttributes"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CTTermAttributesVersion"
},
"title": "Response Get Versions Ct Terms Term Uid Attributes Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"CT Terms"
],
"summary": "Creates a new term in 'Draft' status.",
"description": "This request is only valid if\n* the specified term is in 'Final' status and\n* the specified library allows creating term (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically to 'new-version'.\n* The 'version' property will be increased by '0.1'.",
"operationId": "create_ct_terms__term_uid__attributes_versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermAttributes",
"title": "Term Uid"
},
"description": "The unique id of the CTTermAttributes"
}
],
"responses": {
"201": {
"description": "Created - The term was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create tterm.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The term is not in final status.\n- The term with the specified 'codelist_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/attributes/approvals": {
"post": {
"tags": [
"CT Terms"
],
"summary": "Approves the term identified by 'term_uid'.",
"description": "This request is only valid if the term\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically to 'Approved version'.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_ct_terms__term_uid__attributes_approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermAttributes",
"title": "Term Uid"
},
"description": "The unique id of the CTTermAttributes"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in draft status.\n- The library doesn't allow to approve term.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/attributes/activations": {
"delete": {
"tags": [
"CT Terms"
],
"summary": "Inactivates/deactivates the term identified by 'term_uid'.",
"description": "This request is only valid if the term\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_ct_terms__term_uid__attributes_activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermAttributes",
"title": "Term Uid"
},
"description": "The unique id of the CTTermAttributes"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"CT Terms"
],
"summary": "Reactivates the term identified by 'term_uid'.",
"description": "This request is only valid if the term\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_ct_terms__term_uid__attributes_activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermAttributes",
"title": "Term Uid"
},
"description": "The unique id of the CTTermAttributes"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/names": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns all terms names.",
"operationId": "get_terms_ct_terms_names_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Uid"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "codelist_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Name"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "compact_response",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If true, only `term_uid` and `sponsor_prefered_name` fields are returned for each item.",
"default": false,
"title": "Compact Response"
},
"description": "If true, only `term_uid` and `sponsor_prefered_name` fields are returned for each item."
},
{
"name": "in_codelist",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If false, all terms are returned even those not connected to a codelist. If true, only terms connected to at least one codelist are returned.",
"default": false,
"title": "In Codelist"
},
"description": "If false, all terms are returned even those not connected to a codelist. If true, only terms connected to at least one codelist are returned."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Union_CTTermName__CTTermNameSimple__"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/names/headers": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_ct_terms_names_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "codelist_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Uid"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "codelist_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given codelist are returned.",
"title": "Codelist Name"
},
"description": "If specified, only terms from given codelist are returned."
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given library are returned.",
"title": "Library Name"
},
"description": "If specified, only terms from given library are returned."
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only terms from given package are returned.",
"title": "Package"
},
"description": "If specified, only terms from given package are returned."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Ct Terms Names Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/names": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns the latest/newest version of a specific ct term identified by 'term_uid'",
"operationId": "get_term_names_ct_terms__term_uid__names_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermNames",
"title": "Term Uid"
},
"description": "The unique id of the CTTermNames"
},
{
"name": "at_specified_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the CTTermNameValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed.",
"title": "At Specified Date Time"
},
"description": "If specified then the latest/newest representation of the CTTermNameValue at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\u00b10 is assumed."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified then the representation of the CTTermNameValue in that status is returned (if existent).\n_this is useful if the CTTermNameValue has a status 'Draft' and a status 'Final'.",
"title": "Status"
},
"description": "If specified then the representation of the CTTermNameValue in that status is returned (if existent).\n_this is useful if the CTTermNameValue has a status 'Draft' and a status 'Final'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the for CTTermNameValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',",
"title": "Version"
},
"description": "If specified then the latest/newest representation of the for CTTermNameValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"CT Terms"
],
"summary": "Updates the term identified by 'term_uid'.",
"description": "This request is only valid if the term\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true). \n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "edit_ct_terms__term_uid__names_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermNames",
"title": "Term Uid"
},
"description": "The unique id of the CTTermNames"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermNameEditInput",
"description": "The new parameter terms for the term including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in draft status.\n- The term had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"CT Terms"
],
"summary": "Deletes the term identified by 'term_uid'.",
"description": "This request is only valid if \n\n* the term is in 'Draft' status and\n* the term has never been in 'Final' status and\n* the term belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_ct_term_ct_terms__term_uid__names_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermNames",
"title": "Term Uid"
},
"description": "The unique id of the CTTermNames"
}
],
"responses": {
"204": {
"description": "No Content - The term was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in draft status.\n- The term was already in final state or is in use.\n- The library doesn't allow to delete term.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An term with the specified 'term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/names/versions": {
"get": {
"tags": [
"CT Terms"
],
"summary": "Returns the version history of a specific CTTermName identified by 'term_uid'.",
"description": "The returned versions are ordered by\n0. start_date descending (newest entries first)",
"operationId": "get_versions_ct_terms__term_uid__names_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermNames",
"title": "Term Uid"
},
"description": "The unique id of the CTTermNames"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CTTermNameVersion"
},
"title": "Response Get Versions Ct Terms Term Uid Names Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"CT Terms"
],
"summary": "Creates a new term in 'Draft' status.",
"description": "This request is only valid if\n* the specified term is in 'Final' status and\n* the specified library allows creating term (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically to 'new-version'.\n* The 'version' property will be increased by '0.1'.",
"operationId": "create_ct_terms__term_uid__names_versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermNames",
"title": "Term Uid"
},
"description": "The unique id of the CTTermNames"
}
],
"responses": {
"201": {
"description": "Created - The term was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create tterm.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The term is not in final status.\n- The term with the specified 'codelist_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/names/approvals": {
"post": {
"tags": [
"CT Terms"
],
"summary": "Approves the term identified by 'term_uid'.",
"description": "This request is only valid if the term\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically to 'Approved version'.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_ct_terms__term_uid__names_approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermNames",
"title": "Term Uid"
},
"description": "The unique id of the CTTermNames"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in draft status.\n- The library doesn't allow to approve term.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/terms/{term_uid}/names/activations": {
"delete": {
"tags": [
"CT Terms"
],
"summary": "Inactivates/deactivates the term identified by 'term_uid'.",
"description": "This request is only valid if the term\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "inactivate_ct_terms__term_uid__names_activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermNames",
"title": "Term Uid"
},
"description": "The unique id of the CTTermNames"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"CT Terms"
],
"summary": "Reactivates the term identified by 'term_uid'.",
"description": "This request is only valid if the term\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically. \n* The 'version' property will remain the same as before.",
"operationId": "reactivate_ct_terms__term_uid__names_activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the CTTermNames",
"title": "Term Uid"
},
"description": "The unique id of the CTTermNames"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTTermName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/ct/stats": {
"get": {
"tags": [
"CT Stats"
],
"summary": "Returns stats about Catalogues, Packages and Terms",
"operationId": "get_stats_ct_stats_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "latest_count",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optional, number of latest codelists to return",
"default": 3,
"title": "Latest Count"
},
"description": "Optional, number of latest codelists to return"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTStats"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/codelists": {
"get": {
"tags": [
"Dictionary Codelists"
],
"summary": "List all dictionary codelists.",
"description": "State before:\n - The library must exist.\n \nBusiness logic:\n - List all dictionary codelists (in their latest versions).\n \nState after:\n - No change\n\nPossible errors:\n - Invalid library name.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_codelists_dictionaries_codelists_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The Library from which the dictionaries codelists should be retrieved",
"title": "Library Name"
},
"description": "The Library from which the dictionaries codelists should be retrieved"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_DictionaryCodelist_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Dictionary Codelists"
],
"summary": "Creates new dictionary codelist.",
"description": "The following nodes are created\n * DictionaryCodelistRoot\n * DictionaryCodelistValue",
"operationId": "create_dictionaries_codelists_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelistCreateInput",
"description": "Properties to create DictionaryCodelistValue node."
}
}
}
},
"responses": {
"201": {
"description": "Created - The dictionary codelist was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/codelists/headers": {
"get": {
"tags": [
"Dictionary Codelists"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_dictionaries_codelists_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The Library from which the dictionaries codelists should be retrieved",
"title": "Library Name"
},
"description": "The Library from which the dictionaries codelists should be retrieved"
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Dictionaries Codelists Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/codelists/{dictionary_codelist_uid}": {
"get": {
"tags": [
"Dictionary Codelists"
],
"summary": "List details on the dictionary codelist with {dictionary_codelist_uid}",
"description": "State before:\n - The selected codelist must exist.\n \nBusiness logic:\n - List details of the selected codelist (in a given version, if specified)\n\nState after:\n - No change",
"operationId": "get_codelist_dictionaries_codelists__dictionary_codelist_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Dictionary Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
},
{
"name": "version",
"in": "query",
"required": true,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified then the latest/newest representation of the dictionary codelist for DictionaryCodelistValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',",
"title": "Version"
},
"description": "If specified then the latest/newest representation of the dictionary codelist for DictionaryCodelistValue in that version is returned.\nOnly exact matches are considered. The version is specified in the following format:. where and are digits. E.g. '0.1', '0.2', '1.0',"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Dictionary Codelists"
],
"summary": " Update name or template parameter flag for dictionary codelist",
"description": "State before:\n - codelist_uid must exist and the dictionary codelist must exist in status draft.\n \nBusiness logic:\n - If the dictionary codelist related to codelist_uid exist in status draft then name attribute and Template Parameter node label are updated.\n - If Template Parameter have been set to 'Y' then it cannot be set back to 'N' (i.e. when the Template Parameter node label have been added it cannot be removed).\n \nState after:\n - name attribute and Template Parameter node label are updated for the dictionary codelist.\n - Audit trail entry must be made with update of name attribute or Template Parameter flag.\n \nPossible errors:\n - Invalid codelist_uid.",
"operationId": "edit_dictionaries_codelists__dictionary_codelist_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Dictionary Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelistEditInput",
"description": "The new parameter terms for the dictionary codelist including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The dictionary codelist is not in draft status.\n- The dictionary codelist had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/codelists/{dictionary_codelist_uid}/versions": {
"get": {
"tags": [
"Dictionary Codelists"
],
"summary": "List version history for a dictionary codelist",
"description": "State before:\n - codelist_uid must exist.\n \nBusiness logic:\n - List version history for the representation of the dictionary codelist, including the use as template parameter.\n - The returned versions are ordered by start_date descending (newest entries first).\n \nState after:\n - No change\n \nPossible errors:\n - Invalid codelist_uid.",
"operationId": "get_versions_dictionaries_codelists__dictionary_codelist_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Dictionary Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DictionaryCodelistVersion"
},
"title": "Response Get Versions Dictionaries Codelists Dictionary Codelist Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The dictionary codelist with the specified 'dictionary_codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Dictionary Codelists"
],
"summary": " Create a new version of the dictionary codelist",
"description": "State before:\n - codelist_uid must exist and the dictionary codelist must be in status Final.\n \nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n - The 'change_description' property will be set automatically to 'New version'.\n \nState after:\n - Dictionary codelist changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating new Draft version.\n \nPossible errors:\n - Invalid codelist_uid or status not Final.",
"operationId": "create_new_version_dictionaries_codelists__dictionary_codelist_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Dictionary Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
}
],
"responses": {
"201": {
"description": "Created - The dictionary codelist was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create codelists.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The dictionary codelist is not in final status.\n- The dictionary codelist with the specified 'dictionary_codelist_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/codelists/{dictionary_codelist_uid}/approvals": {
"post": {
"tags": [
"Dictionary Codelists"
],
"summary": "Approve draft version of the dictionary codelist",
"description": "State before:\n - codelist_uid must exist and the dictionary codelist must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n \nState after:\n - Dictionary codelist changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid codelist_uid or status not Draft.",
"operationId": "approve_dictionaries_codelists__dictionary_codelist_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Dictionary Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The codelist is not in draft status.\n- The library doesn't allow to approve codelist.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The codelist with the specified 'codelist_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/codelists/{dictionary_codelist_uid}/terms": {
"post": {
"tags": [
"Dictionary Codelists"
],
"summary": " Attaches a dictionary term to a dictionary codelist",
"description": "State before:\n - Codelist identified by uid must exist.\n\nBusiness logic:\n - Create a HAS_TERM relationship between the selected codelist root and the selected term root, with the current date and current user.\n\nPossible errors:\n - Invalid codelist_uid.\n- Invalid term_uid.\n- Codelist with {dictionary_codelist_uid} is not extensible.\n- Term is already part of the specified codelist.",
"operationId": "add_term_dictionaries_codelists__dictionary_codelist_uid__terms_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Dictionary Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelistTermInput",
"description": "UID of the DictionaryTermRoot node."
}
}
}
},
"responses": {
"201": {
"description": "The HAS_TERM relationship was successfully created.\nThe TemplateParameter labels and HAS_PARAMETER_TERM relationship were successfully added if dictionary codelist identified by 'dictionary_codelist_uid' is a TemplateParameter.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelist"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The dictionary codelist doesn't exist.\n- The dictionary term doesn't exist.\n- The dictionary codelist already has passed term.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/codelists/{dictionary_codelist_uid}/terms/{dictionary_term_uid}": {
"delete": {
"tags": [
"Dictionary Codelists"
],
"summary": "Removes a dictionary term from a dictionary codelist",
"description": "State before:\n - Codelist identified by codelist_uid must exist.\n - Term identified by dictionary_term_uid must exist.\n - Codelist contains the term that is being removed.\n\n\nBusiness logic:\n - Create a HAD_TERM relationship between the selected codelist root and the selected term root, with the current date as the end date, and current user.\n - Remove the old HAS_TERM relationship between the codelist and the term.\n\nPossible errors:\n - Invalid codelist_uid.\n - Invalid dictionary_term_uid.\n- Term is not part of the specified codelist.",
"operationId": "remove_term_dictionaries_codelists__dictionary_codelist_uid__terms__dictionary_term_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_codelist_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Dictionary Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
},
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Codelist Term",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the Codelist Term"
}
],
"responses": {
"200": {
"description": "The HAS_TERM relationship was successfully deleted and HAD_TERM relationship was successfully created.\nThe HAS_PARAMETER_TERM relationship was successfully deleted if codelist identified by uid is a TemplateParameter",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryCodelist"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The codelist doesn't exist.\n- The term doesn't exist.\n- The codelist doesn't have passed term.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/terms": {
"get": {
"tags": [
"Dictionary Terms"
],
"summary": "List terms in the dictionary codelist.",
"description": "Business logic:\n - List dictionary terms in the repository for the dictionary codelist (being a subset of terms)\n - The term uid property is the dictionary concept_id.\n \nState after:\n - No change\n \nPossible errors:\n - Invalid codelist_uid\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_terms_dictionaries_terms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_DictionaryTerm_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Dictionary Terms"
],
"summary": "Creates new dictionary term.",
"description": "The following nodes are created\n * DictionaryTermRoot\n * DictionaryTermValue",
"operationId": "create_dictionaries_terms_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTermCreateInput",
"description": "Properties to create DictionaryTermValue node."
}
}
}
},
"responses": {
"201": {
"description": "Created - The dictionary term was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/terms/headers": {
"get": {
"tags": [
"Dictionary Terms"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_dictionaries_terms_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "codelist_uid",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryCodelist",
"title": "Codelist Uid"
},
"description": "The unique id of the DictionaryCodelist"
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Dictionaries Terms Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/terms/{dictionary_term_uid}": {
"get": {
"tags": [
"Dictionary Terms"
],
"summary": "List details on the specific dictionary term",
"description": "State before:\n -\n \nBusiness logic:\n - List details on a specific dictionary term.\n \nState after:\n - No change\n \nPossible errors:\n - Invalid codelist",
"operationId": "get_codelists_dictionaries_terms__dictionary_term_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Dictionary Terms"
],
"summary": "Update a dictionary term",
"description": "State before:\n - uid must exist and dictionary term must exist in status draft.\n \nBusiness logic:\n - For SNOMED: Updates can only be imported from the SNOMED files, webservice or from legacy migration.\n - It should not be possible to update from the study builder app, this we can do with access permissions later.\n - The existing dictionary term is updated.\n - The individual values for name and uid must all be unique values within the dictionary codelist.\n - The status of the updated version will continue to be 'Draft'.\n - The 'version' property of the version will automatically be incremented with +0.1.\n - The 'change_description' property is required.\n \nState after:\n - Attribute are updated for the dictionary term.\n - Audit trail entry must be made with update of attributes.\n \nPossible errors:\n - Invalid uid.",
"operationId": "edit_dictionaries_terms__dictionary_term_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTermEditInput",
"description": "The new parameter terms for the dictionary term including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The dictionary term is not in draft status.\n- The dictionary term had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'dictionary_term_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Dictionary Terms"
],
"summary": "Delete draft version of a dictionary term",
"description": "State before:\n - uid must exist\n - Dictionary term must be in status Draft in a version less then 1.0 (never been approved).\n \nBusiness logic:\n - The draft dictionary term is deleted\n \nState after:\n - Dictionary term is successfully deleted.\n \nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previoulsy been approved) or not in an editable library.",
"operationId": "delete_ct_term_dictionaries_terms__dictionary_term_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"responses": {
"204": {
"description": "No Content - The term was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in draft status.\n- The term was already in final state or is in use.\n- The library doesn't allow to delete term.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An term with the specified 'dictionary_term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/terms/{dictionary_term_uid}/versions": {
"get": {
"tags": [
"Dictionary Terms"
],
"summary": "List version history for a specific dictionary term",
"description": "State before:\n - uid must exist.\n \nBusiness logic:\n - List version history for a dictionary term.\n - The returned versions are ordered by start_date descending (newest entries first).\n \nState after:\n - No change\n \nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_dictionaries_terms__dictionary_term_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DictionaryTermVersion"
},
"title": "Response Get Versions Dictionaries Terms Dictionary Term Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The dictionary term with the specified 'dictionary_term_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Dictionary Terms"
],
"summary": " Create a new version of a dictionary term",
"description": "State before:\n - uid must exist and the dictionary term must be in status Final.\n \nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.\n - The 'change_description' property will be set automatically to 'New version'.\n \nState after:\n - Dictionary term changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating new Draft version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_version_dictionaries_terms__dictionary_term_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create terms.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The dictionary term is not in final status.\n- The dictionary term with the specified 'dictionary_term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/terms/{dictionary_term_uid}/approvals": {
"post": {
"tags": [
"Dictionary Terms"
],
"summary": "Approve draft version of the dictionary term",
"description": "State before:\n - uid must exist and the dictionary term must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n \nState after:\n - dictionary term changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_dictionaries_terms__dictionary_term_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in draft status.\n- The library doesn't allow to approve term.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'dictionary_term_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/terms/{dictionary_term_uid}/activations": {
"delete": {
"tags": [
"Dictionary Terms"
],
"summary": " Inactivate final version of a dictionary term",
"description": "State before:\n - uid must exist and the dictionary term must be in status Final.\n \nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n \nState after:\n - dictionary term changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_dictionaries_terms__dictionary_term_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'dictionary_term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Dictionary Terms"
],
"summary": "Reactivate retired version of a dictionary term",
"description": "State before:\n - uid must exist and dictionary term must be in status Retired.\n \nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Dictionary term changed status to Final.\n - Audit trail entry must be made with action of reactivating to final version.\n \nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_dictionaries_terms__dictionary_term_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTerm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The term is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'dictionary_term_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/substances": {
"post": {
"tags": [
"Dictionary Terms"
],
"summary": "Creates new substance dictionary term.",
"description": "The following nodes are created\n * DictionaryTermRoot/UNIITermRoot\n * DictionaryTermValue/UNIITermValue",
"operationId": "create_substance_dictionaries_substances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTermSubstanceCreateInput",
"description": "Properties to create DictionaryTermValue node."
}
}
}
},
"responses": {
"201": {
"description": "Created - The dictionary term was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTermSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Dictionary Terms"
],
"summary": "List terms in the substances dictionary codelist.",
"description": "Business logic:\n - List dictionary terms in the repository for the dictionary codelist for substances\n \nState after:\n - No change\n \nPossible errors:\n -",
"operationId": "get_substances_dictionaries_substances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_DictionaryTermSubstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/substances/headers": {
"get": {
"tags": [
"Dictionary Terms"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_substances_header_dictionaries_substances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {}
},
{
"type": "null"
}
],
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Substances Header Dictionaries Substances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/dictionaries/substances/{dictionary_term_uid}": {
"get": {
"tags": [
"Dictionary Terms"
],
"summary": "Details of the specific substance dictionary term",
"description": "State before:\n -\n \nBusiness logic:\n - Returns details of the specific substance dictionary term.\n \nState after:\n - No change\n \nPossible errors:\n - Invalid uid",
"operationId": "get_substance_by_id_dictionaries_substances__dictionary_term_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTermSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Dictionary Terms"
],
"summary": "Update a substance dictionary term",
"description": "State before:\n - uid must exist and dictionary term must exist in status draft.\n \nBusiness logic:\n - The existing dictionary term is updated.\n - The individual values for name and uid must all be unique values within the dictionary codelist.\n - The status of the updated version will continue to be 'Draft'.\n - The 'version' property of the version will automatically be incremented with +0.1.\n - The 'change_description' property is required.\n \nState after:\n - Attribute are updated for the dictionary term.\n - Audit trail entry must be made with update of attributes.\n \nPossible errors:\n - Invalid uid.",
"operationId": "edit_substance_dictionaries_substances__dictionary_term_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dictionary_term_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the DictionaryTerm",
"title": "Dictionary Term Uid"
},
"description": "The unique id of the DictionaryTerm"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTermSubstanceEditInput",
"description": "The new parameter terms for the dictionary term including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DictionaryTermSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The dictionary term is not in draft status.\n- The dictionary term had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The term with the specified 'dictionary_term_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/template-parameters": {
"get": {
"tags": [
"Template Parameters"
],
"summary": "Returns all template parameter available with samples of the available values.",
"description": "The returned template parameter are ordered by\n0. name ascending",
"operationId": "get_all_template_parameters_template_parameters_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/TemplateParameter"
},
"type": "array",
"title": "Response Get All Template Parameters Template Parameters Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/template-parameters/{name}/terms": {
"get": {
"tags": [
"Template Parameters"
],
"summary": "Return all terms available for the given template parameter.",
"operationId": "get_template_parameter_terms_template_parameters__name__terms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "name",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Name of the template parameter",
"title": "Name"
},
"description": "Name of the template parameter"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TemplateParameterTerm"
},
"title": "Response Get Template Parameter Terms Template Parameters Name Terms Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "List all activity instances (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n \nBusiness logic:\n - List all activity instances in their latest version, including properties derived from linked control terminology.\n \nState after:\n - No change\n \nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activities_concepts_activities_activity_instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity instance names to use as a specific filter",
"title": "Names[]"
},
"description": "A list of activity instance names to use as a specific filter"
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity subgroup names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity subgroup names to use as a specific filter"
},
{
"name": "activity_group_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity group names to use as a specific filter",
"title": "Activity Group Names[]"
},
"description": "A list of activity group names to use as a specific filter"
},
{
"name": "activity_instance_class_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity_instance_class names to use as a specific filter",
"title": "Activity Instance Class Names[]"
},
"description": "A list of activity_instance_class names to use as a specific filter"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Filter by status, matching either activity instance status or groupings status",
"title": "Status"
},
"description": "Filter by status, matching either activity instance status or groupings status"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instances"
],
"summary": "Creates new activity instance.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the activity instance with the set properties.\n - relationships to specified activity parent are created (as in the model)\n - relationships to specified activity instance class is created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - activity instance is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_activities_activity_instances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The activity instance was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/attributes/versions": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "List all versions of all activity instances (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n \nBusiness logic:\n - List version history of all activity instances\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n \nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_instances_versions_concepts_activities_activity_instances_attributes_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_instance_class_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity_instance_class names to use as a specific filter",
"title": "Activity Instance Class Names[]"
},
"description": "A list of activity_instance_class names to use as a specific filter"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstanceAttributes_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/headers": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_activities_activity_instances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "lite",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether to use the lightweight implementation of this endpoint, which doesn't support `filters` and `operator` parameters.",
"default": false,
"title": "Lite"
},
"description": "Whether to use the lightweight implementation of this endpoint, which doesn't support `filters` and `operator` parameters."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Activities Activity Instances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "Get details on a specific activity instance (in a specific version)",
"description": "State before:\n - a activity instance with uid must exist.\n\nBusiness logic:\n - If parameter at_specified_date_time is specified then the latest/newest representation of the concept at this point in time is returned. The point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is ommitted, UTC\ufffd0 is assumed.\n - If parameter status is specified then the representation of the concept in that status is returned (if existent). This is useful if the concept has a status 'Draft' and a status 'Final'.\n - If parameter version is specified then the latest/newest representation of the concept in that version is returned. Only exact matches are considered. The version is specified in the following format: . where and are digits. E.g. '0.1', '0.2', '1.0', ...\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_activity_concepts_activities_activity_instances__activity_instance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activity Instances"
],
"summary": "Delete draft version of an activity instance",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n \nBusiness logic:\n - The draft concept is deleted.\n \nState after:\n - Activity instance is successfully deleted.\n \nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_activity_instance_concepts_activities_activity_instances__activity_instance_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"204": {
"description": "No Content - The activity instance was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance is not in draft status.\n- The activity instance was already in final state or is in use.\n- The library doesn't allow to delete activity instance.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An activity instance with the specified 'activity_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/overview": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "Get detailed overview a specific activity instance",
"description": "Returns detailed description about activity instance, including information about:\n - Activity\n - Activity subgroups\n - Activity groups\n - Activity instance class\n - Activity items\n - Activity item class\n\nState before:\n - an activity instance with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.\n\n{_generic_descriptions.DATA_EXPORTS_HEADER}",
"operationId": "get_activity_instance_overview_concepts_activities_activity_instances__activity_instance_uid__overview_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceOverview"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/attributes": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "Get details on a specific activity instance attributes (in a specific version)",
"description": "State before:\n - a activity instance with uid must exist.\n\nBusiness logic:\n - If parameter at_specified_date_time is specified then the latest/newest representation of the concept at this point in time is returned. The point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is ommitted, UTC\ufffd0 is assumed.\n - If parameter status is specified then the representation of the concept in that status is returned (if existent). This is useful if the concept has a status 'Draft' and a status 'Final'.\n - If parameter version is specified then the latest/newest representation of the concept in that version is returned. Only exact matches are considered. The version is specified in the following format: . where and are digits. E.g. '0.1', '0.2', '1.0', ...\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_activity_instance_attributes_concepts_activities_activity_instances__activity_instance_uid__attributes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Activity Instances"
],
"summary": "Update activity instance attributes",
"description": "State before:\n - uid must exist and activity instance attributes must exist in status draft.\n - The activity instance must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If activity instance exist in status draft then attributes are updated.\n- If the linked activity instance is updated, the relationships are updated to point to the activity instance value node.\n\nState after:\n - attributes are updated for the activity instance.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_activities_activity_instances__activity_instance_uid__attributes_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceAttributesEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance is not in draft status.\n- The activity instance had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance with the specified 'activity_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/groupings": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "Get details on a specific activity instance groupings (in a specific version)",
"description": "State before:\n - a activity instance with uid must exist.\n\nBusiness logic:\n - If parameter at_specified_date_time is specified then the latest/newest representation of the concept at this point in time is returned. The point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is ommitted, UTC\ufffd0 is assumed.\n - If parameter status is specified then the representation of the concept in that status is returned (if existent). This is useful if the concept has a status 'Draft' and a status 'Final'.\n - If parameter version is specified then the latest/newest representation of the concept in that version is returned. Only exact matches are considered. The version is specified in the following format: . where and are digits. E.g. '0.1', '0.2', '1.0', ...\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_activity_instance_groupings_concepts_activities_activity_instances__activity_instance_uid__groupings_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Version"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceGroupings"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Activity Instances"
],
"summary": "Update activity instance groupings",
"description": "State before:\n - uid must exist and activity instance groupings must exist in status draft.\n - The activity instance must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If activity instance exist in status draft then groupings are updated.\n- If the linked activity instance is updated, the relationships are updated to point to the activity instance value node.\n\nState after:\n - groupings are updated for the activity instance.\n - Audit trail entry must be made with update of groupings.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_groupings_concepts_activities_activity_instances__activity_instance_uid__groupings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceGroupingsEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceGroupings"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance is not in draft status.\n- The activity instance had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance with the specified 'activity_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/activity-items": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "Get activity items for a specific activity instance",
"description": "Returns activity items for an activity instance, including:\n - Activity item class information (name, role, data type)\n - CT terms (controlled terminology terms)\n - Unit definitions with dimension names\n - ODM forms, item groups, and items\n - ADaM parameter specificity flags\n\nState before:\n - an activity instance with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.\n\n{_generic_descriptions.DATA_EXPORTS_HEADER}",
"operationId": "get_activity_instance_items_concepts_activities_activity_instances__activity_instance_uid__activity_items_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Version"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimplifiedActivityItem"
},
"title": "Response 200 Get Activity Instance Items Concepts Activities Activity Instances Activity Instance Uid Activity Items Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/overview.cosmos": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "Get a COSMoS compatible representation of a specific activity instance",
"description": "Returns detailed description about activity instance, including information about:\n - Activity subgroups\n - Activity groups\n - Activity instance\n - Activity instance class\n\nState before:\n - an activity instance with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_cosmos_activity_instance_overview_concepts_activities_activity_instances__activity_instance_uid__overview_cosmos_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/x-yaml": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/attributes/versions": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "List version history for activity instance attributes",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for activity instance.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_activities_activity_instances__activity_instance_uid__attributes_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityInstanceAttributes"
},
"title": "Response Get Versions Concepts Activities Activity Instances Activity Instance Uid Attributes Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity isntance with the specified 'activity_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instances"
],
"summary": " Create a new version of an activity instance attributes",
"description": "State before:\n - uid must exist and the activity instance must be in status Final.\n \nBusiness logic:\n- The activity instance is changed to a draft state.\n\nState after:\n - Activity instance changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_version_concepts_activities_activity_instances__activity_instance_uid__attributes_versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create activity instances.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity instance is not in final status.\n- The activity instance with the specified 'activity_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/preview": {
"post": {
"tags": [
"Activity Instances"
],
"summary": "Previews the creation of a new activity instance.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the activity instance with the set properties.\n - relationships to specified activity parent are created (as in the model)\n - relationships to specified activity instance class is created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - activity instance is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "preview_concepts_activities_activity_instances_preview_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstancePreviewInput",
"description": "Related parameters of the objective that shall be previewed."
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Created - The activity instance was successfully previewed.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/attributes/approvals": {
"post": {
"tags": [
"Activity Instances"
],
"summary": "Approve draft version of an activity instance attributes",
"description": "State before:\n - uid must exist and activity instance must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n \nState after:\n - Activity instance changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_activities_activity_instances__activity_instance_uid__attributes_approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance is not in draft status.\n- The library doesn't allow to approve activity instance.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance with the specified 'activity_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/activations": {
"delete": {
"tags": [
"Activity Instances"
],
"summary": "Inactivate final version of an activity instance (attributes and groupings)",
"description": "State before:\n - uid must exist and both the activity instance attributes and groupings must be in status Final.\n\nBusiness logic:\n - The latest 'Final' version will remain the same as before (for both attributes and groupings).\n - The status will be automatically set to 'Retired' for both attributes and groupings.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity instance attributes and groupings changed status to Retired.\n - Audit trail entries must be made with action of inactivating to retired version.\n\nPossible errors:\n - Invalid uid, or attributes/groupings status not Final.",
"operationId": "inactivate_concepts_activities_activity_instances__activity_instance_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance attributes are not in final status.\n- The activity instance groupings are not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance with the specified 'activity_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instances"
],
"summary": "Reactivate retired version of an activity instance (attributes and groupings)",
"description": "State before:\n - uid must exist and both the activity instance attributes and groupings must be in status Retired.\n\nBusiness logic:\n - The latest 'Retired' version will remain the same as before (for both attributes and groupings).\n - The status will be automatically set to 'Final' for both attributes and groupings.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity instance attributes and groupings changed status to Final.\n - Audit trail entries must be made with action of reactivating to final version.\n\nPossible errors:\n - Invalid uid, or attributes/groupings status not Retired.",
"operationId": "reactivate_concepts_activities_activity_instances__activity_instance_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceAttributes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance attributes are not in retired status.\n- The activity instance groupings are not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance with the specified 'activity_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/groupings/versions": {
"get": {
"tags": [
"Activity Instances"
],
"summary": "List version history for activity instance groupings",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for activity instance groupings.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_groupings_versions_concepts_activities_activity_instances__activity_instance_uid__groupings_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityInstanceGroupings"
},
"title": "Response Get Groupings Versions Concepts Activities Activity Instances Activity Instance Uid Groupings Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity isntance with the specified 'activity_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instances"
],
"summary": " Create a new version of an activity instance groupings",
"description": "State before:\n - uid must exist and the activity instance must be in status Final.\n \nBusiness logic:\n- The activity instance is changed to a draft state.\n\nState after:\n - Activity instance changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_groupings_version_concepts_activities_activity_instances__activity_instance_uid__groupings_versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceGroupings"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create activity instances.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity instance is not in final status.\n- The activity instance with the specified 'activity_instance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-instances/{activity_instance_uid}/groupings/approvals": {
"post": {
"tags": [
"Activity Instances"
],
"summary": "Approve draft version of an activity instance groupings",
"description": "State before:\n - uid must exist and activity instance must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n \nState after:\n - Activity instance changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_groupings_concepts_activities_activity_instances__activity_instance_uid__groupings_approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstance",
"title": "Activity Instance Uid"
},
"description": "The unique id of the ActivityInstance"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceGroupings"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance is not in draft status.\n- The library doesn't allow to approve activity instance.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance with the specified 'activity_instance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "List all activity-instance-classes (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all activity-instance-classes in their latest version, including properties derived from theirs parent classes.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_instance_classes_activity_instance_classes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstanceClass_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instance Classes"
],
"summary": "Creates new activity instance class.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the activity instance class with the set properties.\n - relationships to specified parent classes are created (as in the model).\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - ActivityInstanceClass is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_activity_instance_classes_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClassInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The activity was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/versions": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "List all versions of activity instance classes",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of activity instance classes\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_instance_classes_versions_activity_instance_classes_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityInstanceClass_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/headers": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_activity_instance_classes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Activity Instance Classes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "Get details on a specific activity instance class (in a specific version)",
"description": "State before:\n - an activity instance class with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - ActivityInstanceClass not found",
"operationId": "get_activity_activity_instance_classes__activity_instance_class_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Activity Instance Classes"
],
"summary": "Update activity instance class",
"description": "State before:\n - uid must exist and activity instance class must exist in status draft.\n - The activity instance class must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If activity instance class exist in status draft then attributes are updated.\n- If the linked activity instance class is updated, the relationships are updated to point to the activity instance class value node.\n\nState after:\n - attributes are updated for the instance class.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_activity_instance_classes__activity_instance_class_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClassEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The instance class is not in draft status.\n- The instance class had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The instance class with the specified 'activity_instance_class_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activity Instance Classes"
],
"summary": "Delete draft version of activity instance class",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - The draft concept is deleted.\n\nState after:\n - ActivityInstanceClass is successfully deleted.\n\nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_activity_instance_class_activity_instance_classes__activity_instance_class_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"responses": {
"204": {
"description": "No Content - The activity instance class was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance class is not in draft status.\n- The activity instance class was already in final state or is in use.\n- The library doesn't allow to delete activity instance class.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An activity instance class with the specified 'activity_instance_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/activity-item-classes": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "List Activity Item Classes linked to given Activity Instance Class",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List activity item classes linked to given activity instance class\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_activity_item_classes_activity_instance_classes__activity_instance_class_uid__activity_item_classes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
},
{
"name": "ig_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of a specific DataModelIG, e.g. SDTMIG",
"title": "Ig Uid"
},
"description": "Optionally, the uid of a specific DataModelIG, e.g. SDTMIG"
},
{
"name": "dataset_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of a dataset to filter relevant activity item classes against",
"title": "Dataset Uid"
},
"description": "Optionally, the uid of a dataset to filter relevant activity item classes against"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompactActivityItemClassForInstanceClass"
},
"title": "Response Get Activity Item Classes Activity Instance Classes Activity Instance Class Uid Activity Item Classes Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/versions": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "List version history for activity-instance-classes",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for activity-instance-classes.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_activity_instance_classes__activity_instance_class_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityInstanceClass"
},
"title": "Response Get Versions Activity Instance Classes Activity Instance Class Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_instance_class_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instance Classes"
],
"summary": " Create a new version of activity instance class",
"description": "State before:\n - uid must exist and the activity instance class must be in status Final.\n\nBusiness logic:\n- The activity instance class is changed to a draft state.\n\nState after:\n - ActivityInstanceClass changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "new_version_activity_instance_classes__activity_instance_class_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create activity instance classes.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity instance class is not in final status.\n- The activity instance class with the specified 'activity_instance_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/model-mappings/datasets": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "Returns all mapped dataset (domain) uids",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_mapped_datasets_activity_instance_classes_model_mappings_datasets_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of a specific ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "Optionally, the uid of a specific ActivityInstanceClass"
},
{
"name": "ig_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of a specific DataModelIG, e.g. SDTMIG",
"title": "Ig Uid"
},
"description": "Optionally, the uid of a specific DataModelIG, e.g. SDTMIG"
},
{
"name": "include_sponsor",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether to include sponsor datasets in the output or not. Defaults to True",
"default": true,
"title": "Include Sponsor"
},
"description": "Whether to include sponsor datasets in the output or not. Defaults to True"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityInstanceClassWithDataset"
},
"title": "Response Get Mapped Datasets Activity Instance Classes Model Mappings Datasets Get"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/model-mappings": {
"patch": {
"tags": [
"Activity Instance Classes"
],
"summary": "Edit the mapping to dataset class",
"description": "State before:\n - uid must exist\n\nBusiness logic:\n- Mapping to dataset class is replaced with the provided one\n\nPossible errors:\n- Invalid uid",
"operationId": "patch_mappings_activity_instance_classes__activity_instance_class_uid__model_mappings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClassMappingInput",
"description": "The uid of dataset classes to map activity instance class to."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity instance class with the specified 'activity_instance_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/approvals": {
"post": {
"tags": [
"Activity Instance Classes"
],
"summary": "Approve draft version of activity instance class",
"description": "State before:\n - uid must exist and activity instance class must be in status Draft.\n\nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n\nState after:\n - ActivityInstanceClass changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n\nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_activity_instance_classes__activity_instance_class_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance class is not in draft status.\n- The library doesn't allow to approve activity instance class.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance class with the specified 'activity_instance_class_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/activations": {
"delete": {
"tags": [
"Activity Instance Classes"
],
"summary": " Inactivate final version of activity instance class",
"description": "State before:\n - uid must exist and activity instance class must be in status Final.\n\nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity instance class changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_activity_instance_classes__activity_instance_class_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "BusinessLogicException - Reasons include e.g.: \n- The activity is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_instance_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Instance Classes"
],
"summary": "Reactivate retired version of a activity instance class",
"description": "State before:\n - uid must exist and activity instance class must be in status Retired.\n\nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - ActivityInstanceClass changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n\nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_activity_instance_classes__activity_instance_class_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity instance class is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance class with the specified 'activity_instance_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/parent-class-overview": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "Get detailed overview of an activity instance parent class",
"description": "Returns detailed information about an activity instance parent class including:\n- Parent class details (name, definition, status, version, etc.)\n- Child activity instance classes\n- Activity item classes\n- Version history\n\nState before:\n- UID must exist\n- The class must be a parent class (have child classes)\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid\n- Class is not a parent class",
"operationId": "get_parent_class_overview_activity_instance_classes__activity_instance_class_uid__parent_class_overview_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceParentClassOverview"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance class with the specified UID wasn't found or is not a parent class.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/overview": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "Get detailed overview of an activity instance class",
"description": "Returns detailed information about an activity instance class including:\n- Activity instance class details (name, definition, status, version, hierarchy, etc.)\n- Activity item classes\n- Version history\n\nState before:\n- UID must exist\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid",
"operationId": "get_activity_instance_class_overview_activity_instance_classes__activity_instance_class_uid__overview_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityInstanceClassOverview"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance class with the specified UID wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/child-classes": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "Get paginated child activity instance classes",
"description": "Retrieves a paginated list of child activity instance classes for a parent class.\n\nWhen a version is specified, returns the child classes that were valid at that version's date.\nOtherwise returns the latest version of each child class.\n\nState before:\n- Parent class UID must exist\n- Parent class must have child classes (otherwise empty list)\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid",
"operationId": "get_child_instance_classes_activity_instance_classes__activity_instance_class_uid__child_classes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_SimpleActivityInstanceClass_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance class with the specified UID wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-instance-classes/{activity_instance_class_uid}/item-classes": {
"get": {
"tags": [
"Activity Instance Classes"
],
"summary": "Get paginated activity item classes",
"description": "Retrieves a paginated list of activity item classes for an activity instance class.\n\nWhen a version is specified, returns the item classes that were valid at that version's date.\nOtherwise returns the latest version of each item class.\n\nState before:\n- Activity instance class UID must exist\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid",
"operationId": "get_activity_item_classes_paginated_activity_instance_classes__activity_instance_class_uid__item_classes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_instance_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityInstanceClass",
"title": "Activity Instance Class Uid"
},
"description": "The unique id of the ActivityInstanceClass"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_SimpleActivityItemClass_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity instance class with the specified UID wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes": {
"get": {
"tags": [
"Activity Item Classes"
],
"summary": "List all activity item classes (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all activity item classes in their latest version, including properties derived from connected activity instance class.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_item_classes_activity_item_classes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityItemClass_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Item Classes"
],
"summary": "Creates new activity item class.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the activity item class with the set properties.\n - relationships to specified parent classes are created (as in the model).\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - ActivityItemClass is created in status Draft and assigned an initial minor version number as 0.1.\n - The relationship between ActivityItemClass and ActivityInstanceClass is created.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_activity_item_classes_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClassCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The activity was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/versions": {
"get": {
"tags": [
"Activity Item Classes"
],
"summary": "List all versions of activity item classes",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of activity item classes\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_item_classes_versions_activity_item_classes_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityItemClass_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/headers": {
"get": {
"tags": [
"Activity Item Classes"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_activity_item_classes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Activity Item Classes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}": {
"get": {
"tags": [
"Activity Item Classes"
],
"summary": "Get details on a specific activity item class (in a specific version)",
"description": "State before:\n - an activity item class with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - ActivityItemClass not found",
"operationId": "get_activity_activity_item_classes__activity_item_class_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Activity Item Classes"
],
"summary": "Update activity item class",
"description": "State before:\n - uid must exist and activity item class must exist in status draft.\n - The activity item class must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If activity item class exist in status draft then attributes are updated.\n- If the linked activity item class is updated, the relationships are updated to point to the activity item class value node.\n\nState after:\n - attributes are updated for the item class.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_activity_item_classes__activity_item_class_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClassEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The item class is not in draft status.\n- The item class had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The item class with the specified 'activity_item_class_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activity Item Classes"
],
"summary": "Delete draft version of activity item class",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - The draft concept is deleted.\n\nState after:\n - ActivityItemClass is successfully deleted.\n\nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_activity_item_class_activity_item_classes__activity_item_class_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"responses": {
"204": {
"description": "No Content - The activity item class was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity item class is not in draft status.\n- The activity item class was already in final state or is in use.\n- The library doesn't allow to delete activity item class.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An activity item class with the specified 'activity_item_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}/versions": {
"get": {
"tags": [
"Activity Item Classes"
],
"summary": "List version history for activity item classes",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for activity item classes.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_activity_item_classes__activity_item_class_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityItemClass"
},
"title": "Response Get Versions Activity Item Classes Activity Item Class Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_item_class_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Item Classes"
],
"summary": " Create a new version of activity item class",
"description": "State before:\n - uid must exist and the activity item class must be in status Final.\n\nBusiness logic:\n- The activity item class is changed to a draft state.\n\nState after:\n - ActivityItemClass changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "new_version_activity_item_classes__activity_item_class_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create activity item classes.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity item class is not in final status.\n- The activity item class with the specified 'activity_item_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}/datasets/{dataset_uid}/codelists": {
"get": {
"tags": [
"Activity Item Classes"
],
"summary": "Returns all related codelists.",
"description": "State before:\n - uids of actvity item class and dataset must exist.\n\nBusiness logic:\n - List the codelists related to the given activity item class.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uids.",
"operationId": "get_all_codelists_activity_item_classes__activity_item_class_uid__datasets__dataset_uid__codelists_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
},
{
"name": "dataset_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Dataset",
"title": "Dataset Uid"
},
"description": "The unique id of the Dataset"
},
{
"name": "use_sponsor_model",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether to use the Sponsor Model to filter Codelists and Terms.\n\nIf set to True, the Sponsor Model will take precedence.\n\nDefaults to True.",
"default": true,
"title": "Use Sponsor Model"
},
"description": "Whether to use the Sponsor Model to filter Codelists and Terms.\n\nIf set to True, the Sponsor Model will take precedence.\n\nDefaults to True."
},
{
"name": "ct_catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of a CT Catalogue to filter Codelists.",
"title": "Ct Catalogue Name"
},
"description": "Optionally, the name of a CT Catalogue to filter Codelists."
},
{
"name": "valid_codelists_for_item",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether to look for codelists using the Valid codelists relationship.\n\nif set to True, this will take precedence over SDTMIG and Sponsor Model.\n\nDefaults to False.",
"default": false,
"title": "Valid Codelists For Item"
},
"description": "Whether to look for codelists using the Valid codelists relationship.\n\nif set to True, this will take precedence over SDTMIG and Sponsor Model.\n\nDefaults to False."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityItemClassCodelist_"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}/model-mappings": {
"patch": {
"tags": [
"Activity Item Classes"
],
"summary": "Edit the mappings to variable classes",
"description": "State before:\n- uid must exist\n\nBusiness logic:\n- Mappings to variable classes are replaced with the provided ones\n\nPossible errors:\n- Invalid uid",
"operationId": "patch_mappings_activity_item_classes__activity_item_class_uid__model_mappings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClassMappingInput",
"description": "The uid of variable classes to map activity item class to."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity item class with the specified 'activity_item_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}/valid-codelist-mappings": {
"patch": {
"tags": [
"Activity Item Classes"
],
"summary": "Edit the mappings to valid codelists for ActivityItems",
"description": "State before:\n- uid must exist\n\nBusiness logic:\n- Mappings to valid codelists are replaced with the provided ones\n\nPossible errors:\n- Invalid uid",
"operationId": "patch_valid_codelist_mappings_activity_item_classes__activity_item_class_uid__valid_codelist_mappings_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ValidCodelistMappingInput",
"description": "The uid of valid codelists to map activity item class to."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity item class with the specified 'activity_item_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}/approvals": {
"post": {
"tags": [
"Activity Item Classes"
],
"summary": "Approve draft version of activity item class",
"description": "State before:\n - uid must exist and activity item class must be in status Draft.\n\nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n\nState after:\n - ActivityItemClass changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n\nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_activity_item_classes__activity_item_class_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity item class is not in draft status.\n- The library doesn't allow to approve activity item class.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity item class with the specified 'activity_item_class_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}/activations": {
"delete": {
"tags": [
"Activity Item Classes"
],
"summary": " Inactivate final version of activity item class",
"description": "State before:\n - uid must exist and activity item class must be in status Final.\n\nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity item class changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_activity_item_classes__activity_item_class_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "BusinessLogicException - Reasons include e.g.: \n- The activity is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_item_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Item Classes"
],
"summary": "Reactivate retired version of a activity item class",
"description": "State before:\n - uid must exist and activity item class must be in status Retired.\n\nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - ActivityItemClass changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n\nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_activity_item_classes__activity_item_class_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClass"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity item class is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity item class with the specified 'activity_item_class_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}/overview": {
"get": {
"tags": [
"Activity Item Classes"
],
"summary": "Get detailed overview of an activity item class",
"description": "Returns detailed information about an activity item class including:\n- Activity item class details (name, definition, NCI code, status, version, etc.)\n- Activity Instance Classes that use this item class\n- Version history\n\nState before:\n- UID must exist\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid",
"operationId": "get_activity_item_class_overview_activity_item_classes__activity_item_class_uid__overview_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityItemClassOverview"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity item class with the specified UID wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/activity-item-classes/{activity_item_class_uid}/activity-instance-classes": {
"get": {
"tags": [
"Activity Item Classes"
],
"summary": "Get paginated Activity Instance Classes that use this item",
"description": "Retrieves a paginated list of Activity Instance Classes that use this Activity Item Class.\n\nWhen a version is specified, returns the instance classes that were using this item at that version's date.\nOtherwise returns the latest version of each instance class.\n\nState before:\n- Activity item class UID must exist\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid",
"operationId": "get_activity_instance_classes_using_item_activity_item_classes__activity_item_class_uid__activity_instance_classes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_item_class_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityItemClass",
"title": "Activity Item Class Uid"
},
"description": "The unique id of the ActivityItemClass"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_SimpleActivityInstanceClassForItem_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity item class with the specified UID wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compounds": {
"get": {
"tags": [
"Compounds"
],
"summary": "List all compounds (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all compounds in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n \n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_compounds_concepts_compounds_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Compound_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Compounds"
],
"summary": "Creates new compound.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the compound with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - compounds is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_compounds_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The compound was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Compound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compounds/versions": {
"get": {
"tags": [
"Compounds"
],
"summary": "List all versions of compounds",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of compounds\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_compounds_versions_concepts_compounds_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Compound_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compounds-simple": {
"get": {
"tags": [
"Compounds"
],
"summary": "List all compounds (for a given library) with only uid/name fields",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all compounds in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_compounds_simple_concepts_compounds_simple_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_SimpleCompound_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compounds/headers": {
"get": {
"tags": [
"Compounds"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_compounds_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Compounds Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compounds/{compound_uid}": {
"get": {
"tags": [
"Compounds"
],
"summary": "Get details on a specific compounds (in a specific version)",
"description": "State before:\n - a compound with uid must exist.\n\nBusiness logic:\n - If parameter at_specified_date_time is specified then the latest/newest representation of the concept at this point in time is returned. The point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is ommitted, UTC\ufffd0 is assumed.\n - If parameter status is specified then the representation of the concept in that status is returned (if existent). This is useful if the concept has a status 'Draft' and a status 'Final'.\n - If parameter version is specified then the latest/newest representation of the concept in that version is returned. Only exact matches are considered. The version is specified in the following format: . where and are digits. E.g. '0.1', '0.2', '1.0', ...\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_compound_concepts_compounds__compound_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound",
"title": "Compound Uid"
},
"description": "The unique id of the compound"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Compound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Compounds"
],
"summary": "Update compound",
"description": "State before:\n - uid must exist and compound must exist in status draft.\n - The compound must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If compound exist in status draft then attributes are updated.\n - If links to CT are selected or updated then relationships are made to CTTermRoots.\n- If the linked compound is updated, the relationships are updated to point to the compound value node.\n\nState after:\n - attributes are updated for the compound.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_compounds__compound_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound",
"title": "Compound Uid"
},
"description": "The unique id of the compound"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Compound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound is not in draft status.\n- The compound had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound with the specified 'compound_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Compounds"
],
"summary": "Delete draft version of an compound",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n \nBusiness logic:\n - The draft concept is deleted.\n \nState after:\n - Compound is successfully deleted.\n \nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_concepts_compounds__compound_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound",
"title": "Compound Uid"
},
"description": "The unique id of the compound"
}
],
"responses": {
"204": {
"description": "No Content - The compound was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound is not in draft status.\n- The compound was already in final state or is in use.\n- The library doesn't allow to delete compound.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An compound with the specified 'compound_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compounds/{compound_uid}/versions": {
"get": {
"tags": [
"Compounds"
],
"summary": "List version history for compounds",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for compounds.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_compounds__compound_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound",
"title": "Compound Uid"
},
"description": "The unique id of the compound"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Compound"
},
"title": "Response Get Versions Concepts Compounds Compound Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound with the specified 'compound_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Compounds"
],
"summary": " Create a new version of a compound",
"description": "State before:\n - uid must exist and the compound must be in status Final.\n \nBusiness logic:\n- The compound is changed to a draft state.\n\nState after:\n - Compound changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_version_concepts_compounds__compound_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound",
"title": "Compound Uid"
},
"description": "The unique id of the compound"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Compound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create compounds.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The compound is not in final status.\n- The compound with the specified 'compound_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compounds/{compound_uid}/approvals": {
"post": {
"tags": [
"Compounds"
],
"summary": "Approve draft version of a compound",
"description": "State before:\n - uid must exist and compound must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically to 'Approved version'.\n \nState after:\n - Compound changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_compounds__compound_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound",
"title": "Compound Uid"
},
"description": "The unique id of the compound"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Compound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound is not in draft status.\n- The library doesn't allow compound approval.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound with the specified 'compound_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compounds/{compound_uid}/activations": {
"delete": {
"tags": [
"Compounds"
],
"summary": " Inactivate final version of an compound",
"description": "State before:\n - uid must exist and compound must be in status Final.\n \nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n \nState after:\n - Compound changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_concepts_compounds__compound_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound",
"title": "Compound Uid"
},
"description": "The unique id of the compound"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Compound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound with the specified 'compound_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Compounds"
],
"summary": "Reactivate retired version of an compound",
"description": "State before:\n - uid must exist and compound must be in status Retired.\n \nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Compound changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n \nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_concepts_compounds__compound_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound",
"title": "Compound Uid"
},
"description": "The unique id of the compound"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Compound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound with the specified 'compound_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/active-substances": {
"get": {
"tags": [
"Active Substances"
],
"summary": "List all active substances (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all active substances in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n \n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_active_substances_concepts_active_substances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActiveSubstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Active Substances"
],
"summary": "Creates new active substance.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the active substance with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - relationships to specified activity parent are created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - Active substance is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_active_substances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstanceCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The active substance was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/active-substances/versions": {
"get": {
"tags": [
"Active Substances"
],
"summary": "List all versions of active substances",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of active substances.\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_active_substances_versions_concepts_active_substances_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActiveSubstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/active-substances/headers": {
"get": {
"tags": [
"Active Substances"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_active_substances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Active Substances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/active-substances/{active_substance_uid}": {
"get": {
"tags": [
"Active Substances"
],
"summary": "Get details on a specific active substance (in a specific version)",
"description": "Possible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_activity_concepts_active_substances__active_substance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "active_substance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the active substance",
"title": "Active Substance Uid"
},
"description": "The unique id of the active substance"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Active Substances"
],
"summary": "Update active_substance",
"description": "State before:\n - uid must exist and active substance must exist in status draft.\n - The active substance must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If active substance exist in status draft then attributes are updated.\n - If links to CT are selected or updated then relationships are made to CTTermRoots.\n- If the linked active substance is updated, the relationships are updated to point to the active substance value node.\n\nState after:\n - attributes are updated for the active_substance.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_active_substances__active_substance_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "active_substance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the active substance",
"title": "Active Substance Uid"
},
"description": "The unique id of the active substance"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstanceEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The active substance is not in draft status.\n- The active substance had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The active substance with the specified 'active_substance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Active Substances"
],
"summary": "Delete draft version of an active substance",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n \nBusiness logic:\n - The draft concept is deleted.\n \nState after:\n - ActiveSubstance is successfully deleted.\n \nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_concepts_active_substances__active_substance_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "active_substance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the active substance",
"title": "Active Substance Uid"
},
"description": "The unique id of the active substance"
}
],
"responses": {
"204": {
"description": "No Content - The active substance was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The active substance is not in draft status.\n- The active substance was already in final state or is in use.\n- The library doesn't allow to delete active_substance.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An active substance with the specified 'active_substance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/active-substances/{active_substance_uid}/versions": {
"get": {
"tags": [
"Active Substances"
],
"summary": "List version history for active substances",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for active substances.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_active_substances__active_substance_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "active_substance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the active substance",
"title": "Active Substance Uid"
},
"description": "The unique id of the active substance"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActiveSubstance"
},
"title": "Response Get Versions Concepts Active Substances Active Substance Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The active substance with the specified 'active_substance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Active Substances"
],
"summary": " Create a new version of an active substance",
"description": "State before:\n - uid must exist and the active substance must be in status Final.\n \nBusiness logic:\n- The active substance is changed to a draft state.\n\nState after:\n - ActiveSubstance changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_version_concepts_active_substances__active_substance_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "active_substance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the active substance",
"title": "Active Substance Uid"
},
"description": "The unique id of the active substance"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create active_substances.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The active substance is not in final status.\n- The active substance with the specified 'active_substance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/active-substances/{active_substance_uid}/approvals": {
"post": {
"tags": [
"Active Substances"
],
"summary": "Approve draft version of an active substance",
"description": "State before:\n - uid must exist and active substance must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically to 'Approved version'.\n \nState after:\n - ActiveSubstance changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_active_substances__active_substance_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "active_substance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the active substance",
"title": "Active Substance Uid"
},
"description": "The unique id of the active substance"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The active substance is not in draft status.\n- The library doesn't allow active substance approval.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The active substance with the specified 'active_substance_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/active-substances/{active_substance_uid}/activations": {
"delete": {
"tags": [
"Active Substances"
],
"summary": " Inactivate final version of an active substance",
"description": "State before:\n - uid must exist and active substance must be in status Final.\n \nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n \nState after:\n - ActiveSubstance changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_concepts_active_substances__active_substance_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "active_substance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the active substance",
"title": "Active Substance Uid"
},
"description": "The unique id of the active substance"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The active substance is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The active substance with the specified 'active_substance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Active Substances"
],
"summary": "Reactivate retired version of an active substance",
"description": "State before:\n - uid must exist and active substance must be in status Retired.\n \nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - ActiveSubstance changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n \nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_concepts_active_substances__active_substance_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "active_substance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the active substance",
"title": "Active Substance Uid"
},
"description": "The unique id of the active substance"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActiveSubstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The active substance is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The active substance with the specified 'active_substance_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/pharmaceutical-products": {
"get": {
"tags": [
"Pharmaceutical Products"
],
"summary": "List all pharmaceutical products (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all pharmaceutical products in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n \n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_pharmaceutical_products_concepts_pharmaceutical_products_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_PharmaceuticalProduct_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Pharmaceutical Products"
],
"summary": "Creates new pharmaceutical product.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the pharmaceutical product with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - relationships to specified activity parent are created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - pharmaceutical product is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_pharmaceutical_products_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProductCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The pharmaceutical product was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/pharmaceutical-products/versions": {
"get": {
"tags": [
"Pharmaceutical Products"
],
"summary": "List all versions of pharmaceutical products",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of pharmaceutical products\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_pharmaceutical_products_versions_concepts_pharmaceutical_products_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_PharmaceuticalProduct_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/pharmaceutical-products/headers": {
"get": {
"tags": [
"Pharmaceutical Products"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_pharmaceutical_products_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Pharmaceutical Products Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/pharmaceutical-products/{pharmaceutical_product_uid}": {
"get": {
"tags": [
"Pharmaceutical Products"
],
"summary": "Get details on a specific pharmaceutical product (in a specific version)",
"description": "Possible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_activity_concepts_pharmaceutical_products__pharmaceutical_product_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "pharmaceutical_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the pharmaceutical product",
"title": "Pharmaceutical Product Uid"
},
"description": "The unique id of the pharmaceutical product"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Pharmaceutical Products"
],
"summary": "Update pharmaceutical product",
"description": "State before:\n - uid must exist and pharmaceutical product must exist in status draft.\n - The pharmaceutical product must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If pharmaceutical product exist in status draft then attributes are updated.\n - If links to CT are selected or updated then relationships are made to CTTermRoots.\n- If the linked pharmaceutical product is updated, the relationships are updated to point to the pharmaceutical product value node.\n\nState after:\n - attributes are updated for the pharmaceutical product.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_pharmaceutical_products__pharmaceutical_product_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "pharmaceutical_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the pharmaceutical product",
"title": "Pharmaceutical Product Uid"
},
"description": "The unique id of the pharmaceutical product"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProductEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The pharmaceutical product is not in draft status.\n- The pharmaceutical product had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The pharmaceutical product with the specified 'pharmaceutical_product_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Pharmaceutical Products"
],
"summary": "Delete draft version of a pharmaceutical product",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n \nBusiness logic:\n - The draft concept is deleted.\n \nState after:\n - PharmaceuticalProduct is successfully deleted.\n \nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_concepts_pharmaceutical_products__pharmaceutical_product_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "pharmaceutical_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the pharmaceutical product",
"title": "Pharmaceutical Product Uid"
},
"description": "The unique id of the pharmaceutical product"
}
],
"responses": {
"204": {
"description": "No Content - The pharmaceutical product was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The pharmaceutical product is not in draft status.\n- The pharmaceutical product was already in final state or is in use.\n- The library doesn't allow to delete pharmaceutical product.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - A pharmaceutical product with the specified 'pharmaceutical_product_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/pharmaceutical-products/{pharmaceutical_product_uid}/versions": {
"get": {
"tags": [
"Pharmaceutical Products"
],
"summary": "List version history for pharmaceutical products",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for pharmaceutical products.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_pharmaceutical_products__pharmaceutical_product_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "pharmaceutical_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the pharmaceutical product",
"title": "Pharmaceutical Product Uid"
},
"description": "The unique id of the pharmaceutical product"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/PharmaceuticalProduct"
},
"title": "Response Get Versions Concepts Pharmaceutical Products Pharmaceutical Product Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The pharmaceutical product with the specified 'pharmaceutical_product_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Pharmaceutical Products"
],
"summary": " Create a new version of a pharmaceutical product",
"description": "State before:\n - uid must exist and the pharmaceutical product must be in status Final.\n \nBusiness logic:\n- The pharmaceutical product is changed to a draft state.\n\nState after:\n - PharmaceuticalProduct changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_version_concepts_pharmaceutical_products__pharmaceutical_product_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "pharmaceutical_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the pharmaceutical product",
"title": "Pharmaceutical Product Uid"
},
"description": "The unique id of the pharmaceutical product"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create pharmaceutical products.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The pharmaceutical product is not in final status.\n- The pharmaceutical product with the specified 'pharmaceutical_product_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/pharmaceutical-products/{pharmaceutical_product_uid}/approvals": {
"post": {
"tags": [
"Pharmaceutical Products"
],
"summary": "Approve draft version of a pharmaceutical product",
"description": "State before:\n - uid must exist and pharmaceutical product must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically to 'Approved version'.\n \nState after:\n - PharmaceuticalProduct changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_pharmaceutical_products__pharmaceutical_product_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "pharmaceutical_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the pharmaceutical product",
"title": "Pharmaceutical Product Uid"
},
"description": "The unique id of the pharmaceutical product"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The pharmaceutical product is not in draft status.\n- The library doesn't allow pharmaceutical product approval.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The pharmaceutical product with the specified 'pharmaceutical_product_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/pharmaceutical-products/{pharmaceutical_product_uid}/activations": {
"delete": {
"tags": [
"Pharmaceutical Products"
],
"summary": " Inactivate final version of a pharmaceutical product",
"description": "State before:\n - uid must exist and pharmaceutical product must be in status Final.\n \nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n \nState after:\n - PharmaceuticalProduct changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_concepts_pharmaceutical_products__pharmaceutical_product_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "pharmaceutical_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the pharmaceutical product",
"title": "Pharmaceutical Product Uid"
},
"description": "The unique id of the pharmaceutical product"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The pharmaceutical product is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The pharmaceutical product with the specified 'pharmaceutical_product_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Pharmaceutical Products"
],
"summary": "Reactivate retired version of a pharmaceutical product",
"description": "State before:\n - uid must exist and pharmaceutical product must be in status Retired.\n \nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - PharmaceuticalProduct changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n \nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_concepts_pharmaceutical_products__pharmaceutical_product_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "pharmaceutical_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the pharmaceutical product",
"title": "Pharmaceutical Product Uid"
},
"description": "The unique id of the pharmaceutical product"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PharmaceuticalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The pharmaceutical product is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The pharmaceutical product with the specified 'pharmaceutical_product_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/medicinal-products": {
"get": {
"tags": [
"Medicinal Products"
],
"summary": "List all medicinal products (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all medicinal products in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n \n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_medicinal_products_concepts_medicinal_products_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_MedicinalProduct_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Medicinal Products"
],
"summary": "Creates new medicinal product.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the medicinal product with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - relationships to specified activity parent are created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - medicinal product is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_medicinal_products_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProductCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The medicinal product was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/medicinal-products/versions": {
"get": {
"tags": [
"Medicinal Products"
],
"summary": "List all versions of medicinal products",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of medicinal products\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_medicinal_products_versions_concepts_medicinal_products_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_MedicinalProduct_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/medicinal-products/headers": {
"get": {
"tags": [
"Medicinal Products"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_medicinal_products_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Medicinal Products Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/medicinal-products/{medicinal_product_uid}": {
"get": {
"tags": [
"Medicinal Products"
],
"summary": "Get details on a specific medicinal product (in a specific version)",
"description": "Possible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_activity_concepts_medicinal_products__medicinal_product_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "medicinal_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the medicinal product",
"title": "Medicinal Product Uid"
},
"description": "The unique id of the medicinal product"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Medicinal Products"
],
"summary": "Update medicinal product",
"description": "State before:\n - uid must exist and medicinal product must exist in status draft.\n - The medicinal product must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If medicinal product exist in status draft then attributes are updated.\n - If links to CT are selected or updated then relationships are made to CTTermRoots.\n- If the linked medicinal product is updated, the relationships are updated to point to the medicinal product value node.\n\nState after:\n - attributes are updated for the medicinal product.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_medicinal_products__medicinal_product_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "medicinal_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the medicinal product",
"title": "Medicinal Product Uid"
},
"description": "The unique id of the medicinal product"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProductEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The medicinal product is not in draft status.\n- The medicinal product had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The medicinal product with the specified 'medicinal_product_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Medicinal Products"
],
"summary": "Delete draft version of a medicinal product",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n \nBusiness logic:\n - The draft concept is deleted.\n \nState after:\n - MedicinalProduct is successfully deleted.\n \nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_concepts_medicinal_products__medicinal_product_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "medicinal_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the medicinal product",
"title": "Medicinal Product Uid"
},
"description": "The unique id of the medicinal product"
}
],
"responses": {
"204": {
"description": "No Content - The medicinal product was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The medicinal product is not in draft status.\n- The medicinal product was already in final state or is in use.\n- The library doesn't allow to delete medicinal product.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - A medicinal product with the specified 'medicinal_product_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/medicinal-products/{medicinal_product_uid}/versions": {
"get": {
"tags": [
"Medicinal Products"
],
"summary": "List version history for medicinal products",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for medicinal products.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_medicinal_products__medicinal_product_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "medicinal_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the medicinal product",
"title": "Medicinal Product Uid"
},
"description": "The unique id of the medicinal product"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/MedicinalProduct"
},
"title": "Response Get Versions Concepts Medicinal Products Medicinal Product Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The medicinal product with the specified 'medicinal_product_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Medicinal Products"
],
"summary": " Create a new version of a medicinal product",
"description": "State before:\n - uid must exist and the medicinal product must be in status Final.\n \nBusiness logic:\n- The medicinal product is changed to a draft state.\n\nState after:\n - MedicinalProduct changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_version_concepts_medicinal_products__medicinal_product_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "medicinal_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the medicinal product",
"title": "Medicinal Product Uid"
},
"description": "The unique id of the medicinal product"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create medicinal products.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The medicinal product is not in final status.\n- The medicinal product with the specified 'medicinal_product_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/medicinal-products/{medicinal_product_uid}/approvals": {
"post": {
"tags": [
"Medicinal Products"
],
"summary": "Approve draft version of a medicinal product",
"description": "State before:\n - uid must exist and medicinal product must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically to 'Approved version'.\n \nState after:\n - MedicinalProduct changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_medicinal_products__medicinal_product_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "medicinal_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the medicinal product",
"title": "Medicinal Product Uid"
},
"description": "The unique id of the medicinal product"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The medicinal product is not in draft status.\n- The library doesn't allow medicinal product approval.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The medicinal product with the specified 'medicinal_product_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/medicinal-products/{medicinal_product_uid}/activations": {
"delete": {
"tags": [
"Medicinal Products"
],
"summary": " Inactivate final version of a medicinal product",
"description": "State before:\n - uid must exist and medicinal product must be in status Final.\n \nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n \nState after:\n - MedicinalProduct changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_concepts_medicinal_products__medicinal_product_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "medicinal_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the medicinal product",
"title": "Medicinal Product Uid"
},
"description": "The unique id of the medicinal product"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The medicinal product is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The medicinal product with the specified 'medicinal_product_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Medicinal Products"
],
"summary": "Reactivate retired version of a medicinal product",
"description": "State before:\n - uid must exist and medicinal product must be in status Retired.\n \nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - MedicinalProduct changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n \nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_concepts_medicinal_products__medicinal_product_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "medicinal_product_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the medicinal product",
"title": "Medicinal Product Uid"
},
"description": "The unique id of the medicinal product"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/MedicinalProduct"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The medicinal product is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The medicinal product with the specified 'medicinal_product_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compound-aliases": {
"get": {
"tags": [
"Compound Aliases"
],
"summary": "List all compound aliases (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all compound aliases in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_concepts_compound_aliases_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CompoundAlias_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Compound Aliases"
],
"summary": "Creates new compound alias.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the compound alias with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - relationships to specified activity parent are created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - compound aliases is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_compound_aliases_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAliasCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The compound alias was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAlias"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compound-aliases/versions": {
"get": {
"tags": [
"Compound Aliases"
],
"summary": "List all versions of compound aliases",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of compound aliases.\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_compounds_versions_concepts_compound_aliases_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CompoundAlias_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compound-aliases/headers": {
"get": {
"tags": [
"Compound Aliases"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_compound_aliases_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Compound Aliases Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compound-aliases/{compound_alias_uid}": {
"get": {
"tags": [
"Compound Aliases"
],
"summary": "Get details on a specific compound aliases (in a specific version)",
"description": "State before:\n - a compound alias with uid must exist.\n\nBusiness logic:\n - If parameter at_specified_date_time is specified then the latest/newest representation of the concept at this point in time is returned. The point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is omitted, UTC\ufffd0 is assumed.\n - If parameter status is specified then the representation of the concept in that status is returned (if existent). This is useful if the concept has a status 'Draft' and a status 'Final'.\n - If parameter version is specified then the latest/newest representation of the concept in that version is returned. Only exact matches are considered. The version is specified in the following format: . where and are digits. E.g. '0.1', '0.2', '1.0', ...\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_concepts_compound_aliases__compound_alias_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_alias_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound alias",
"title": "Compound Alias Uid"
},
"description": "The unique id of the compound alias"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAlias"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Compound Aliases"
],
"summary": "Update compound alias",
"description": "State before:\n - uid must exist and compound alias must exist in status draft.\n - The compound alias must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If compound alias exist in status draft then attributes are updated.\n - If links to CT are selected or updated then relationships are made to CTTermRoots.\n- If the linked compound alias is updated, the relationships are updated to point to the compound alias value node.\n\nState after:\n - attributes are updated for the compound alias.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_compound_aliases__compound_alias_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_alias_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound alias",
"title": "Compound Alias Uid"
},
"description": "The unique id of the compound alias"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAliasEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAlias"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound alias is not in draft status.\n- The compound alias had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound alias with the specified 'compound_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Compound Aliases"
],
"summary": "Delete draft version of an compound alias",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n \nBusiness logic:\n - The draft concept is deleted.\n \nState after:\n - Compound is successfully deleted.\n \nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_concepts_compound_aliases__compound_alias_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_alias_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound alias",
"title": "Compound Alias Uid"
},
"description": "The unique id of the compound alias"
}
],
"responses": {
"204": {
"description": "No Content - The compound alias was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound alias is not in draft status.\n- The compound alias was already in final state or is in use.\n- The library doesn't allow to delete compound alias.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An compound alias with the specified 'compound_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compound-aliases/{compound_alias_uid}/versions": {
"get": {
"tags": [
"Compound Aliases"
],
"summary": "List version history for compound aliases",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for compound aliases.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_compound_aliases__compound_alias_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_alias_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound alias",
"title": "Compound Alias Uid"
},
"description": "The unique id of the compound alias"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompoundAlias"
},
"title": "Response Get Versions Concepts Compound Aliases Compound Alias Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound alias with the specified 'compound_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Compound Aliases"
],
"summary": " Create a new version of a compound alias",
"description": "State before:\n - uid must exist and the compound alias must be in status Final.\n \nBusiness logic:\n- The compound alias is changed to a draft state.\n\nState after:\n - Compound changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_version_concepts_compound_aliases__compound_alias_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_alias_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound alias",
"title": "Compound Alias Uid"
},
"description": "The unique id of the compound alias"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAlias"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create compound aliases.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The compound alias is not in final status.\n- The compound alias with the specified 'compound_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compound-aliases/{compound_alias_uid}/approvals": {
"post": {
"tags": [
"Compound Aliases"
],
"summary": "Approve draft version of a compound alias",
"description": "State before:\n - uid must exist and compound alias must be in status Draft.\n \nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically to 'Approved version'.\n \nState after:\n - Compound changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n \nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_compound_aliases__compound_alias_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_alias_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound alias",
"title": "Compound Alias Uid"
},
"description": "The unique id of the compound alias"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAlias"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound alias is not in draft status.\n- The library doesn't allow compound alias approval.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound alias with the specified 'compound_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/compound-aliases/{compound_alias_uid}/activations": {
"delete": {
"tags": [
"Compound Aliases"
],
"summary": " Inactivate final version of an compound alias",
"description": "State before:\n - uid must exist and compound alias must be in status Final.\n \nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n \nState after:\n - Compound changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n \nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_concepts_compound_aliases__compound_alias_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_alias_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound alias",
"title": "Compound Alias Uid"
},
"description": "The unique id of the compound alias"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAlias"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound alias is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound alias with the specified 'compound_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Compound Aliases"
],
"summary": "Reactivate retired version of an compound alias",
"description": "State before:\n - uid must exist and compound alias must be in status Retired.\n \nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Compound changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n \nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_concepts_compound_aliases__compound_alias_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "compound_alias_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the compound alias",
"title": "Compound Alias Uid"
},
"description": "The unique id of the compound alias"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CompoundAlias"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The compound alias is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The compound alias with the specified 'compound_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities": {
"get": {
"tags": [
"Activities"
],
"summary": "List all activities (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all activities in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activities_concepts_activities_activities_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "activity_subgroup_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The unique id of the activity sub group to use as a specific filter",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the activity sub group to use as a specific filter"
},
{
"name": "activity_group_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The unique id of the activity group to use as a specific filter",
"title": "Activity Group Uid"
},
"description": "The unique id of the activity group to use as a specific filter"
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity sub group names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity sub group names to use as a specific filter"
},
{
"name": "activity_group_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity group names to use as a specific filter",
"title": "Activity Group Names[]"
},
"description": "A list of activity group names to use as a specific filter"
},
{
"name": "group_by_groupings",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "A boolean property to specify if the activities will be grouped by sub group and group or not, so we won't loose the information about which activity instances has each group",
"default": true,
"title": "Group By Groupings"
},
"description": "A boolean property to specify if the activities will be grouped by sub group and group or not, so we won't loose the information about which activity instances has each group"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Activity_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activities"
],
"summary": "Creates new activity.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the activity with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - relationships to specified activity parent are created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - Activity is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_activities_activities_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The activity was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/versions": {
"get": {
"tags": [
"Activities"
],
"summary": "List all versions of activities",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of activities\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activities_versions_concepts_activities_activities_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "activity_subgroup_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The unique id of the activity sub group to use as a specific filter",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the activity sub group to use as a specific filter"
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity sub group names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity sub group names to use as a specific filter"
},
{
"name": "activity_group_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity group names to use as a specific filter",
"title": "Activity Group Names[]"
},
"description": "A list of activity group names to use as a specific filter"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Activity_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/headers": {
"get": {
"tags": [
"Activities"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_activities_activities_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity sub group names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity sub group names to use as a specific filter"
},
{
"name": "activity_group_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity group names to use as a specific filter",
"title": "Activity Group Names[]"
},
"description": "A list of activity group names to use as a specific filter"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "lite",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether to use the lightweight implementation of this endpoint, which doesn't support `filters` and `operator` parameters.",
"default": false,
"title": "Lite"
},
"description": "Whether to use the lightweight implementation of this endpoint, which doesn't support `filters` and `operator` parameters."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Activities Activities Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/{activity_uid}": {
"get": {
"tags": [
"Activities"
],
"summary": "Get details on a specific activity (in a specific version)",
"description": "State before:\n - an activity with uid must exist.\n\nBusiness logic:\n - If parameter at_specified_date_time is specified then the latest/newest representation of the concept at this point in time is returned. The point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is ommitted, UTC\ufffd0 is assumed.\n - If parameter status is specified then the representation of the concept in that status is returned (if existent). This is useful if the concept has a status 'Draft' and a status 'Final'.\n - If parameter version is specified then the latest/newest representation of the concept in that version is returned. Only exact matches are considered. The version is specified in the following format: . where and are digits. E.g. '0.1', '0.2', '1.0', ...\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid or at_specified_date_time, status or version.",
"operationId": "get_activity_concepts_activities_activities__activity_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"tags": [
"Activities"
],
"summary": "Update activity",
"description": "State before:\n - uid must exist and activity must exist in status draft.\n - The activity must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If activities exist in status draft then attributes are updated.\n - If links to CT are selected or updated then relationships are made to CTTermRoots.\n - If the linked activity is updated, the relationships are updated to point to the activity value node.\n\nState after:\n - attributes are updated for the activity.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_activities_activities__activity_uid__put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity is not in draft status.\n- The activity had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activities"
],
"summary": "Delete draft version of activity",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - The draft concept is deleted.\n\nState after:\n - Activity is successfully deleted.\n\nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_activity_concepts_activities_activities__activity_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"responses": {
"204": {
"description": "No Content - The activity was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity is not in draft status.\n- The activity was already in final state or is in use.\n- The library doesn't allow to delete activity.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An activity with the specified 'activity_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/{activity_uid}/overview": {
"get": {
"tags": [
"Activities"
],
"summary": "Get detailed overview a specific activity",
"description": "Returns detailed description about activity, including information about:\n - Activity\n - Activity subgroups\n - Activity groups\n - Activity instance\n - Activity instance class\n\nState before:\n - an activity with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_activity_overview_concepts_activities_activities__activity_uid__overview_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityOverview"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/{activity_uid}/overview.cosmos": {
"get": {
"tags": [
"Activities"
],
"summary": "Get a COSMoS compatible representation of a specific activity",
"description": "Returns detailed description about activity, including information about:\n - Activity\n - Activity subgroups\n - Activity groups\n - Activity instance\n - Activity instance class\n\nState before:\n - an activity with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_cosmos_activity_overview_concepts_activities_activities__activity_uid__overview_cosmos_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/x-yaml": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/{activity_uid}/versions/{version}/groupings": {
"get": {
"tags": [
"Activities"
],
"summary": "Get activity groupings for a specific version of an activity",
"description": "State before:\n - An activity with uid and version must exist.\n\nBusiness logic:\n - Return activity groupings information for the activity groupings table, including related subgroups, groups, and instances\n at the time the version was created.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid or version.",
"operationId": "get_specific_activity_version_groupings_concepts_activities_activities__activity_uid__versions__version__groupings_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The version of the activity in format 'x.y'",
"title": "Version"
},
"description": "The version of the activity in format 'x.y'"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityVersionDetail_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/{activity_uid}/versions/{version}/instances": {
"get": {
"tags": [
"Activities"
],
"summary": "Get activity instances relevant to a specific activity version",
"description": "Retrieve a paginated list of activity instances that were relevant during\n the time validity window of a *specific* version of an activity.\n\n For each relevant instance, the latest version active during the activity's\n version window is returned, along with all its older versions in the `children` array.\n\n Args:\n activity_uid: The unique ID of the activity.\n version: The specific version of the activity (e.g., \"16.0\").\n page_number: The page number for pagination (default: 1).\n page_size: The number of items per page (default: 10).\n flatten: If true, returns parent and child instances as separate rows (useful for exports).\n If false, returns hierarchical structure with children nested (default).\n\n Returns:\n A paginated response containing activity instances relevant to the specified\n activity version's timeframe.\n \n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_instances_for_specific_activity_version_concepts_activities_activities__activity_uid__versions__version__instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
},
{
"name": "version",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The specific version of the activity (e.g., '16.0')",
"title": "Version"
},
"description": "The specific version of the activity (e.g., '16.0')"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "flatten",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If true, returns parent and child instances as separate rows. If false, returns hierarchical structure.",
"default": false,
"title": "Flatten"
},
"description": "If true, returns parent and child instances as separate rows. If false, returns hierarchical structure."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_ActivityInstanceDetail_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/{activity_uid}/versions": {
"get": {
"tags": [
"Activities"
],
"summary": "List version history for activities",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for activities.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_activities_activities__activity_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Activity"
},
"title": "Response Get Versions Concepts Activities Activities Activity Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activities"
],
"summary": " Create a new version of activity",
"description": "State before:\n - uid must exist and the activity must be in status Final.\n\nBusiness logic:\n- The activity is changed to a draft state.\n\nState after:\n - Activity changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "new_version_concepts_activities_activities__activity_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create activities.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity is not in final status.\n- The activity with the specified 'activity_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/sponsor-activities": {
"post": {
"tags": [
"Activities"
],
"summary": "Creates new sponsor activity and retires activity request.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the activity with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - relationships to specified activity parent are created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - Activity is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_sponsor_activity_from_activity_request_concepts_activities_activities_sponsor_activities_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityFromRequestInput"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Created - The activity was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/concepts/activities/activities/{activity_uid}/activity-request-rejections": {
"patch": {
"tags": [
"Activities"
],
"summary": "Reject and retire an Activity Request",
"description": "State before:\n - uid must exist and activity must exist in status Final.\n - The activity must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - The ActivityRequest is edited with the rejection arguments.\n\nState after:\n - After successful rejection, the Activity Request is edited with rejection arguments and set to be retired.\n\nPossible errors:\n - Non existing ActivityRequest specified or specified ActivityRequest is not in Final state..",
"operationId": "reject_activity_request_concepts_activities_activities__activity_uid__activity_request_rejections_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityRequestRejectInput"
}
}
}
},
"responses": {
"200": {
"description": "Created - The activity was successfully edited.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity doesn't exist.\n- The activity is not in final state.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/{activity_uid}/approvals": {
"post": {
"tags": [
"Activities"
],
"summary": "Approve draft version of activity",
"description": "State before:\n - uid must exist and activity must be in status Draft.\n\nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n - If cascade_edit_and_approve is set to True, all activity instances that are linked to the latest 'Final' version of this activity\n are updated to link to the newly approved activity, and then approved.\n\nState after:\n - Activity changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n\nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_activities_activities__activity_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
},
{
"name": "cascade_edit_and_approve",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Approve all linked activity instances",
"default": false,
"title": "Cascade Edit And Approve"
},
"description": "Approve all linked activity instances"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity is not in draft status.\n- The library doesn't allow to approve activity.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activities/{activity_uid}/activations": {
"delete": {
"tags": [
"Activities"
],
"summary": " Inactivate final version of activity",
"description": "State before:\n - uid must exist and activity must be in status Final.\n\nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_concepts_activities_activities__activity_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activities"
],
"summary": "Reactivate retired version of a activity",
"description": "State before:\n - uid must exist and activity must be in status Retired.\n\nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n\nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_concepts_activities_activities__activity_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the Activity",
"title": "Activity Uid"
},
"description": "The unique id of the Activity"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Activity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity with the specified 'activity_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "List all activity sub groups (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all activities sub groups in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_activity_subgroups_concepts_activities_activity_sub_groups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivitySubGroup_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Subgroups"
],
"summary": "Creates new activity subgroup.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the activity subgroup with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - relationships to specified activity parent are created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - ActivitySubGroup is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_activities_activity_sub_groups_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroupCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The activity subgroup was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/versions": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "List all versions of all activity subgroups (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of all activity subgroups\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_activity_subgroups_versions_concepts_activities_activity_sub_groups_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivitySubGroup_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/headers": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_activities_activity_sub_groups_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Activities Activity Sub Groups Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/{activity_subgroup_uid}": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "Get details on a specific activity subgroup (in a specific version)",
"description": "State before:\n - an activity subgroup with uid must exist.\n\nBusiness logic:\n - If parameter at_specified_date_time is specified then the latest/newest representation of the concept at this point in time is returned. The point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is ommitted, UTC\ufffd0 is assumed.\n - If parameter status is specified then the representation of the concept in that status is returned (if existent). This is useful if the concept has a status 'Draft' and a status 'Final'.\n - If parameter version is specified then the latest/newest representation of the concept in that version is returned. Only exact matches are considered. The version is specified in the following format: . where and are digits. E.g. '0.1', '0.2', '1.0', ...\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_activity_concepts_activities_activity_sub_groups__activity_subgroup_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"tags": [
"Activity Subgroups"
],
"summary": "Update activity subgroup",
"description": "State before:\n - uid must exist and activity subgroup must exist in status draft.\n - The activity subgroup must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If activity subgroup exist in status draft then attributes are updated.\n - If links to CT are selected or updated then relationships are made to CTTermRoots.\n- If the linked activity subgroup is updated, the relationships are updated to point to the activity subgroup value node.\n\nState after:\n - attributes are updated for the activity subgroup.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_activities_activity_sub_groups__activity_subgroup_uid__put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroupEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity subgroup is not in draft status.\n- The activity subgroup had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity subgroup with the specified 'activity_subgroup_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activity Subgroups"
],
"summary": "Delete draft version of activity subgroup",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - The draft concept is deleted.\n\nState after:\n - Activity subgroup is successfully deleted.\n\nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_activity_subgroup_concepts_activities_activity_sub_groups__activity_subgroup_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
}
],
"responses": {
"204": {
"description": "No Content - The activity subgroup was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity subgroup is not in draft status.\n- The activity subgroup was already in final state or is in use.\n- The library doesn't allow to delete activity subgroup.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An activity subgroup with the specified 'activity_subgroup_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/{activity_subgroup_uid}/versions": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "List version history for activity sub groups",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for activity sub groups.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_activities_activity_sub_groups__activity_subgroup_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivitySubGroup"
},
"title": "Response Get Versions Concepts Activities Activity Sub Groups Activity Subgroup Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity subgroup with the specified 'activity_subgroup_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Subgroups"
],
"summary": " Create a new version of activity subgroup",
"description": "State before:\n - uid must exist and the activity subgroup must be in status Final.\n\nBusiness logic:\n- The activity subgroup is changed to a draft state.\n\nState after:\n - ActivitySubGroup changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "new_version_concepts_activities_activity_sub_groups__activity_subgroup_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create activity sub groups.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity subgroup is not in final status.\n- The activity subgroup with the specified 'activity_subgroup_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/{activity_subgroup_uid}/overview": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "Get detailed overview of a specific activity subgroup",
"description": "Returns detailed description about activity subgroup including:\n- Activity Subgroup details\n- Linked Activities\n- Version history\n\nState before:\n- UID must exist\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid",
"operationId": "get_activity_subgroup_overview_concepts_activities_activity_sub_groups__activity_subgroup_uid__overview_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroupOverview"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/{activity_subgroup_uid}/activities": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "Get activities linked to a specific activity subgroup version",
"description": "Returns a list of activities linked to the specified version of an activity subgroup.\nIf no version is provided, the latest version of the activity subgroup is used.\n- Results are paginated based on provided parameters\n- Setting page_size=0 will return all items without pagination\n\n{_generic_descriptions.DATA_EXPORTS_HEADER}",
"operationId": "get_activities_for_activity_subgroup_concepts_activities_activity_sub_groups__activity_subgroup_uid__activities_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Search string to filter activities by name or other fields. Case-insensitive partial match.",
"default": "",
"title": "Search String"
},
"description": "Search string to filter activities by name or other fields. Case-insensitive partial match."
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_SimpleActivity_"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/{activity_subgroup_uid}/activity-groups": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "Get activity groups for a specific activity subgroup",
"description": "Returns activity groups linked to a specific activity subgroup.\nResults are paginated and suitable for export with each group on a separate row.\n\n{_generic_descriptions.DATA_EXPORTS_HEADER}",
"operationId": "get_activity_groups_for_subgroup_concepts_activities_activity_sub_groups__activity_subgroup_uid__activity_groups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityGroupForActivitySubGroup_"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/{activity_subgroup_uid}/overview.cosmos": {
"get": {
"tags": [
"Activity Subgroups"
],
"summary": "Get a COSMoS compatible representation of a specific activity subgroup",
"description": "Returns detailed description about activity subgroup, including information about:\n - Activity Subgroup details\n - Linked activity groups\n - Linked activities\n\nState before:\n - An activity subgroup with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_cosmos_activity_subgroup_overview_concepts_activities_activity_sub_groups__activity_subgroup_uid__overview_cosmos_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/x-yaml": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/{activity_subgroup_uid}/approvals": {
"post": {
"tags": [
"Activity Subgroups"
],
"summary": "Approve draft version of activity subgroup",
"description": "State before:\n - uid must exist and activity subgroup must be in status Draft.\n\nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n - If cascade_edit_and_approve is set to True, all activities that are linked to the latest 'Final' version of this activity subgroup\n are updated to link to the newly approved activity subgroup, and then approved.\n\nState after:\n - Activity subgroup changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n\nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_activities_activity_sub_groups__activity_subgroup_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
},
{
"name": "cascade_edit_and_approve",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Approve all linked activities",
"default": false,
"title": "Cascade Edit And Approve"
},
"description": "Approve all linked activities"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity subgroup is not in draft status.\n- The library doesn't allow to approve activity subgroup.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity subgroup with the specified 'activity_subgroup_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-sub-groups/{activity_subgroup_uid}/activations": {
"delete": {
"tags": [
"Activity Subgroups"
],
"summary": " Inactivate final version of activity subgroup",
"description": "State before:\n - uid must exist and activity subgroup must be in status Final.\n\nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity subgroup changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_concepts_activities_activity_sub_groups__activity_subgroup_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity subgroup is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity subgroup with the specified 'activity_subgroup_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Subgroups"
],
"summary": "Reactivate retired version of a activity subgroup",
"description": "State before:\n - uid must exist and activity subgroup must be in status Retired.\n\nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity subgroup changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n\nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_concepts_activities_activity_sub_groups__activity_subgroup_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivitySubGroup",
"title": "Activity Subgroup Uid"
},
"description": "The unique id of the ActivitySubGroup"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity subgroup is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity subgroup with the specified 'activity_subgroup_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "List all activity groups (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all activities groups in their latest version, including properties derived from linked control terminology.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_groups_concepts_activities_activity_groups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityGroup_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Groups"
],
"summary": "Creates new activity group.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n - The specified CT term uids must exist, and the term names are in a final state.\n\nBusiness logic:\n - New node is created for the activity group with the set properties.\n - relationships to specified control terminology are created (as in the model).\n - relationships to specified activity parent are created (as in the model)\n - The status of the new created version will be automatically set to 'Draft'.\n - The 'version' property of the new version will be automatically set to 0.1.\n - The 'change_description' property will be set automatically to 'Initial version'.\n\nState after:\n - ActivityGroup is created in status Draft and assigned an initial minor version number as 0.1.\n - Audit trail entry must be made with action of creating new Draft version.\n\nPossible errors:\n - Invalid library or control terminology uid's specified.",
"operationId": "create_concepts_activities_activity_groups_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroupCreateInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The activity group was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/versions": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "List all versions of all activity groups (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List version history of all activity groups\n - The returned versions are ordered by version start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_groups_versions_concepts_activities_activity_groups_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_ActivityGroup_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/headers": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_activities_activity_groups_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity subgroup names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity subgroup names to use as a specific filter"
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Activities Activity Groups Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/{activity_group_uid}": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "Get details on a specific activity group (in a specific version)",
"description": "State before:\n - an activity group with uid must exist.\n\nBusiness logic:\n - If parameter at_specified_date_time is specified then the latest/newest representation of the concept at this point in time is returned. The point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. If the timezone is ommitted, UTC\ufffd0 is assumed.\n - If parameter status is specified then the representation of the concept in that status is returned (if existent). This is useful if the concept has a status 'Draft' and a status 'Final'.\n - If parameter version is specified then the latest/newest representation of the concept in that version is returned. Only exact matches are considered. The version is specified in the following format: . where and are digits. E.g. '0.1', '0.2', '1.0', ...\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid, at_specified_date_time, status or version.",
"operationId": "get_activity_concepts_activities_activity_groups__activity_group_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"tags": [
"Activity Groups"
],
"summary": "Update activity group",
"description": "State before:\n - uid must exist and activity group must exist in status draft.\n - The activity group must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - If activity group exist in status draft then attributes are updated.\n - If links to CT are selected or updated then relationships are made to CTTermRoots.\n- If the linked activity group is updated, the relationships are updated to point to the activity group value node.\n\nState after:\n - attributes are updated for the activity group.\n - Audit trail entry must be made with update of attributes.\n\nPossible errors:\n - Invalid uid.",
"operationId": "edit_concepts_activities_activity_groups__activity_group_uid__put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroupEditInput"
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity group is not in draft status.\n- The activity group had been in 'Final' status before.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity group with the specified 'activity_group_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Activity Groups"
],
"summary": "Delete draft version of activity group",
"description": "State before:\n - uid must exist\n - The concept must be in status Draft in a version less then 1.0 (never been approved).\n - The concept must belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - The draft concept is deleted.\n\nState after:\n - Activity group is successfully deleted.\n\nPossible errors:\n - Invalid uid or status not Draft or exist in version 1.0 or above (previously been approved) or not in an editable library.",
"operationId": "delete_activity_group_concepts_activities_activity_groups__activity_group_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
}
],
"responses": {
"204": {
"description": "No Content - The activity group was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity group is not in draft status.\n- The activity group was already in final state or is in use.\n- The library doesn't allow to delete activity group.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An activity group with the specified 'activity_group_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/{activity_group_uid}/versions": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "List version history for activity groups",
"description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for activity groups.\n - The returned versions are ordered by start_date descending (newest entries first).\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_versions_concepts_activities_activity_groups__activity_group_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/ActivityGroup"
},
"title": "Response Get Versions Concepts Activities Activity Groups Activity Group Uid Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity group with the specified 'activity_group_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Groups"
],
"summary": " Create a new version of activity group",
"description": "State before:\n - uid must exist and the activity group must be in status Final.\n\nBusiness logic:\n- The activity group is changed to a draft state.\n\nState after:\n - ActivityGroup changed status to Draft and assigned a new minor version number.\n - Audit trail entry must be made with action of creating a new draft version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "create_new_version_concepts_activities_activity_groups__activity_group_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't allow to create activity sub groups.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Reasons include e.g.: \n- The activity group is not in final status.\n- The activity group with the specified 'activity_group_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/{activity_group_uid}/details": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "Get only the details of a specific activity group",
"description": "Returns only the activity group details without linked subgroups:\n- Activity group metadata (name, library, dates, status, etc.)\n- Definition information\n\nState before:\n- UID must exist\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid",
"operationId": "get_activity_group_details_concepts_activities_activity_groups__activity_group_uid__details_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroupDetail"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/{activity_group_uid}/subgroups": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "Get only the subgroups linked to a specific activity group",
"description": "Returns only the activity subgroups linked to a specific activity group:\n- List of subgroups with their uid, name, version, and status\n- Results are paginated based on provided parameters\n- Setting page_size=0 will return all items without pagination\n\nState before:\n- UID must exist\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_activity_group_subgroups_concepts_activities_activity_groups__activity_group_uid__subgroups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_SimpleSubGroup_"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/{activity_group_uid}/overview": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "Get detailed overview of a specific activity group",
"description": "Returns detailed description about activity group including:\n- Activity Group details\n- Linked Subgroups\n- Version history\n\nState before:\n- UID must exist\n\nState after:\n- No change\n\nPossible errors:\n- Invalid uid",
"operationId": "get_activity_group_overview_concepts_activities_activity_groups__activity_group_uid__overview_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Select specific version, omit to view latest version",
"title": "Version"
},
"description": "Select specific version, omit to view latest version"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroupOverview"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/{activity_group_uid}/overview.cosmos": {
"get": {
"tags": [
"Activity Groups"
],
"summary": "Get a COSMoS compatible representation of a specific activity group",
"description": "Returns detailed description about activity group, including information about:\n - Activity Group details\n - Linked activity subgroups\n - Linked activities\n\nState before:\n - An activity group with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid.",
"operationId": "get_cosmos_activity_group_overview_concepts_activities_activity_groups__activity_group_uid__overview_cosmos_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/x-yaml": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/{activity_group_uid}/approvals": {
"post": {
"tags": [
"Activity Groups"
],
"summary": "Approve draft version of activity group",
"description": "State before:\n - uid must exist and activity group must be in status Draft.\n\nBusiness logic:\n - The latest 'Draft' version will remain the same as before.\n - The status of the new approved version will be automatically set to 'Final'.\n - The 'version' property of the new version will be automatically set to the version of the latest 'Final' version increased by +1.0.\n - The 'change_description' property will be set automatically 'Approved version'.\n - If cascade_edit_and_approve is set to True, all activity subgroups that are linked to the latest 'Final' version of this activity group\n are updated to link to the newly approved activity group, and then approved.\n\nState after:\n - Activity group changed status to Final and assigned a new major version number.\n - Audit trail entry must be made with action of approving to new Final version.\n\nPossible errors:\n - Invalid uid or status not Draft.",
"operationId": "approve_concepts_activities_activity_groups__activity_group_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
},
{
"name": "cascade_edit_and_approve",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Approve all linked activity subgroups",
"default": false,
"title": "Cascade Edit And Approve"
},
"description": "Approve all linked activity subgroups"
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity group is not in draft status.\n- The library doesn't allow to approve activity group.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity group with the specified 'activity_group_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/activities/activity-groups/{activity_group_uid}/activations": {
"delete": {
"tags": [
"Activity Groups"
],
"summary": " Inactivate final version of activity group",
"description": "State before:\n - uid must exist and activity group must be in status Final.\n\nBusiness logic:\n - The latest 'Final' version will remain the same as before.\n - The status will be automatically set to 'Retired'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity group changed status to Retired.\n - Audit trail entry must be made with action of inactivating to retired version.\n\nPossible errors:\n - Invalid uid or status not Final.",
"operationId": "inactivate_concepts_activities_activity_groups__activity_group_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity group is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity group with the specified 'activity_group_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Activity Groups"
],
"summary": "Reactivate retired version of a activity group",
"description": "State before:\n - uid must exist and activity group must be in status Retired.\n\nBusiness logic:\n - The latest 'Retired' version will remain the same as before.\n - The status will be automatically set to 'Final'.\n - The 'change_description' property will be set automatically.\n - The 'version' property will remain the same as before.\n\nState after:\n - Activity group changed status to Final.\n - An audit trail entry must be made with action of reactivating to final version.\n\nPossible errors:\n - Invalid uid or status not Retired.",
"operationId": "reactivate_concepts_activities_activity_groups__activity_group_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the ActivityGroup",
"title": "Activity Group Uid"
},
"description": "The unique id of the ActivityGroup"
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The activity group is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The activity group with the specified 'activity_group_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/numeric-values": {
"get": {
"tags": [
"Numeric Values"
],
"summary": "List all numeric values (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all numeric values.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_numeric_values_concepts_numeric_values_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_NumericValue_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Numeric Values"
],
"summary": "Creates new numeric value or returns already existing numeric value.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the numeric value with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_numeric_values_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValuePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The numeric value was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/numeric-values/headers": {
"get": {
"tags": [
"Numeric Values"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_numeric_values_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Numeric Values Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/numeric-values/{numeric_value_uid}": {
"get": {
"tags": [
"Numeric Values"
],
"summary": "Get details on a specific numeric value",
"description": "State before:\n - a time point with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_numeric_value_concepts_numeric_values__numeric_value_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "numeric_value_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the numeric value",
"title": "Numeric Value Uid"
},
"description": "The unique id of the numeric value"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/numeric-values-with-unit": {
"get": {
"tags": [
"Numeric Values With Unit"
],
"summary": "List all numeric values with unit (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all numeric values with units.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_numeric_values_concepts_numeric_values_with_unit_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_NumericValueWithUnit_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Numeric Values With Unit"
],
"summary": "Creates new numeric value or returns already existing numeric value.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the numeric value with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_numeric_values_with_unit_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValueWithUnitPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The numeric value was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValueWithUnit"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/numeric-values-with-unit/headers": {
"get": {
"tags": [
"Numeric Values With Unit"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_numeric_values_with_unit_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Numeric Values With Unit Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/numeric-values-with-unit/{numeric_value_uid}": {
"get": {
"tags": [
"Numeric Values With Unit"
],
"summary": "Get details on a specific numeric value with unit",
"description": "State before:\n - a numerical value with specified uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_numeric_value_concepts_numeric_values_with_unit__numeric_value_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "numeric_value_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the numeric value",
"title": "Numeric Value Uid"
},
"description": "The unique id of the numeric value"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValueWithUnit"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/text-values": {
"get": {
"tags": [
"Text Values"
],
"summary": "List all text values (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all text values.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_text_values_concepts_text_values_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_TextValue_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Text Values"
],
"summary": "Creates new text value or returns already existing text value.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the text value with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_text_values_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TextValuePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The text value was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TextValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/text-values/headers": {
"get": {
"tags": [
"Text Values"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_text_values_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": false,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Text Values Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/text-values/{text_value_uid}": {
"get": {
"tags": [
"Text Values"
],
"summary": "Get details on a specific text value",
"description": "State before:\n - a time point with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_text_value_concepts_text_values__text_value_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "text_value_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the text value",
"title": "Text Value Uid"
},
"description": "The unique id of the text value"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TextValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/visit-names": {
"get": {
"tags": [
"Visit Names"
],
"summary": "List all visit names (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all visit names.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_visit_names_concepts_visit_names_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_VisitName_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Visit Names"
],
"summary": "Creates new visit name or returns already existing visit name.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the visit name with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_visit_names_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VisitNamePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The visit name was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VisitName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/visit-names/headers": {
"get": {
"tags": [
"Visit Names"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_visit_names_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Visit Names Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/visit-names/{visit_name_uid}": {
"get": {
"tags": [
"Visit Names"
],
"summary": "Get details on a specific visit name",
"description": "State before:\n - a time point with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_visit_name_concepts_visit_names__visit_name_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "visit_name_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the visit name",
"title": "Visit Name Uid"
},
"description": "The unique id of the visit name"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VisitName"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-days": {
"get": {
"tags": [
"Study Days"
],
"summary": "List all study days (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all study days.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_study_days_concepts_study_days_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_NumericValue_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Days"
],
"summary": "Creates new study day or returns already existing study day.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the study day with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_study_days_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValuePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The study day was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-days/headers": {
"get": {
"tags": [
"Study Days"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_study_days_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Study Days Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-days/{study_day_uid}": {
"get": {
"tags": [
"Study Days"
],
"summary": "Get details on a specific study day",
"description": "State before:\n - a study day with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_study_day_concepts_study_days__study_day_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_day_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study day",
"title": "Study Day Uid"
},
"description": "The unique id of the study day"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-weeks": {
"get": {
"tags": [
"Study Weeks"
],
"summary": "List all study weeks (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all study weeks.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_study_weeks_concepts_study_weeks_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_NumericValue_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Weeks"
],
"summary": "Creates new study week or returns already existing study week.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the study week with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_study_weeks_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValuePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The study week was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-weeks/headers": {
"get": {
"tags": [
"Study Weeks"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_study_weeks_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Study Weeks Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-weeks/{study_week_uid}": {
"get": {
"tags": [
"Study Weeks"
],
"summary": "Get details on a specific study week",
"description": "State before:\n - a time point with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_study_week_concepts_study_weeks__study_week_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_week_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study week",
"title": "Study Week Uid"
},
"description": "The unique id of the study week"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-duration-days": {
"get": {
"tags": [
"Study Duration Days"
],
"summary": "List all study duration days (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all study duration days.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_study_duration_days_concepts_study_duration_days_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_NumericValue_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Duration Days"
],
"summary": "Creates new study duration day or returns already existing study duration day.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the study duration day with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_study_duration_days_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValuePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The study duration day was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-duration-days/headers": {
"get": {
"tags": [
"Study Duration Days"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_study_duration_days_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Study Duration Days Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-duration-days/{study_duration_day_uid}": {
"get": {
"tags": [
"Study Duration Days"
],
"summary": "Get details on a specific study duration day",
"description": "State before:\n - a study duration day with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_study_duration_day_concepts_study_duration_days__study_duration_day_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_duration_day_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study duration day",
"title": "Study Duration Day Uid"
},
"description": "The unique id of the study duration day"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-duration-weeks": {
"get": {
"tags": [
"Study Duration Weeks"
],
"summary": "List all study duration weeks (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all study duration weeks.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_study_duration_weeks_concepts_study_duration_weeks_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_NumericValue_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Duration Weeks"
],
"summary": "Creates new study duration week or returns already existing study duration week.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the study duration week with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_study_duration_weeks_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValuePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The study duration week was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-duration-weeks/headers": {
"get": {
"tags": [
"Study Duration Weeks"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_study_duration_weeks_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Study Duration Weeks Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/study-duration-weeks/{study_duration_week_uid}": {
"get": {
"tags": [
"Study Duration Weeks"
],
"summary": "Get details on a specific study duration week",
"description": "State before:\n - a study duration week with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_study_duration_week_concepts_study_duration_weeks__study_duration_week_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_duration_week_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study duration week",
"title": "Study Duration Week Uid"
},
"description": "The unique id of the study duration week"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NumericValue"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/time-points": {
"get": {
"tags": [
"Time Points"
],
"summary": "List all time points (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all time points.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_time_points_concepts_time_points_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_TimePoint_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Time Points"
],
"summary": "Creates new time point.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the time point with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_time_points_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimePointPostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The time point was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimePoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/time-points/headers": {
"get": {
"tags": [
"Time Points"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_time_points_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Time Points Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/time-points/{time_point_uid}": {
"get": {
"tags": [
"Time Points"
],
"summary": "Get details on a specific time point",
"description": "State before:\n - a time point with uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_time_point_concepts_time_points__time_point_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "time_point_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the time point",
"title": "Time Point Uid"
},
"description": "The unique id of the time point"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TimePoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/lag-times": {
"get": {
"tags": [
"Lag Times"
],
"summary": "List all lag times (for a given library)",
"description": "State before:\n - The library must exist (if specified)\n\nBusiness logic:\n - List all lag times.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid library name specified.",
"operationId": "get_lag_times_concepts_lag_times_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_LagTime_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Lag Times"
],
"summary": "Creates new lag time or returns already existing lag time.",
"description": "State before:\n - The specified library allows creation of concepts (the 'is_editable' property of the library needs to be true).\n\nBusiness logic:\n - New node is created for the lag time with the set properties.\n\nPossible errors:\n - Invalid library.",
"operationId": "create_concepts_lag_times_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LagTimePostInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The lag time was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LagTime"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The library doesn't exist.\n- The library doesn't allow to add new items.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/lag-times/headers": {
"get": {
"tags": [
"Lag Times"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_lag_times_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": false,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Lag Times Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/lag-times/{lag_time_uid}": {
"get": {
"tags": [
"Lag Times"
],
"summary": "Get details on a specific lag time",
"description": "State before:\n - a lag time with specified uid must exist.\n\nState after:\n - No change\n\nPossible errors:\n - Invalid uid",
"operationId": "get_lag_time_concepts_lag_times__lag_time_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "lag_time_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the lag time",
"title": "Lag Time Uid"
},
"description": "The unique id of the lag time"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LagTime"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/projects": {
"get": {
"tags": [
"Projects"
],
"summary": "Returns all projects.",
"operationId": "get_projects_projects_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_Project_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Projects"
],
"summary": "Creates a new project.",
"operationId": "create_projects_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectCreateInput",
"description": "Related parameters of the project that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The project was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Project"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid to process the request. Expect more detailed information in response body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/projects/headers": {
"get": {
"tags": [
"Projects"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_projects_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Projects Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/projects/{project_uid}": {
"get": {
"tags": [
"Projects"
],
"summary": "Get a project.",
"operationId": "get_projects__project_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "project_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the project.",
"title": "Project Uid"
},
"description": "The unique id of the project."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Project"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Projects"
],
"summary": "Edit a project.",
"operationId": "edit_projects__project_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "project_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the project.",
"title": "Project Uid"
},
"description": "The unique id of the project."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProjectEditInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Project"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid to process the request. Expect more detailed information in response body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Projects"
],
"summary": "Delete a project.",
"operationId": "delete_projects__project_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "project_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the project.",
"title": "Project Uid"
},
"description": "The unique id of the project."
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid to process the request. Expect more detailed information in response body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/clinical-programmes": {
"get": {
"tags": [
"Clinical Programmes"
],
"summary": "Returns all clinical programmes.",
"operationId": "get_programmes_clinical_programmes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_ClinicalProgramme_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Clinical Programmes"
],
"summary": "Creates a new clinical programme.",
"operationId": "create_clinical_programmes_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClinicalProgrammeInput",
"description": "Related parameters of the clinical programme that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The clinical programme was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClinicalProgramme"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/clinical-programmes/headers": {
"get": {
"tags": [
"Clinical Programmes"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_clinical_programmes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Clinical Programmes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/clinical-programmes/{clinical_programme_uid}": {
"get": {
"tags": [
"Clinical Programmes"
],
"summary": "Get a clinical programme.",
"operationId": "get_clinical_programmes__clinical_programme_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "clinical_programme_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the clinical programme.",
"title": "Clinical Programme Uid"
},
"description": "The unique id of the clinical programme."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClinicalProgramme"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Clinical Programmes"
],
"summary": "Edit a clinical programme.",
"operationId": "edit_clinical_programmes__clinical_programme_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "clinical_programme_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the clinical programme.",
"title": "Clinical Programme Uid"
},
"description": "The unique id of the clinical programme."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClinicalProgrammeInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ClinicalProgramme"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid to process the request. Expect more detailed information in response body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Clinical Programmes"
],
"summary": "Delete a clinical programme.",
"operationId": "delete_clinical_programmes__clinical_programme_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "clinical_programme_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the clinical programme.",
"title": "Clinical Programme Uid"
},
"description": "The unique id of the clinical programme."
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid to process the request. Expect more detailed information in response body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/admin/caches": {
"get": {
"tags": [
"Admin"
],
"summary": "Returns all cache stores",
"operationId": "get_caches_admin_caches_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "show_items",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Show Items"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Response Get Caches Admin Caches Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Admin"
],
"summary": "Clears all cache stores",
"operationId": "clear_caches_admin_caches_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Response Clear Caches Admin Caches Delete"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/admin/users": {
"get": {
"tags": [
"Admin"
],
"summary": "Returns all users",
"operationId": "get_users_admin_users_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/UserInfo"
},
"type": "array",
"title": "Response Get Users Admin Users Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/admin/users/{user_id}": {
"patch": {
"tags": [
"Admin"
],
"summary": "Patch user",
"description": "Set the username and/or email of a user",
"operationId": "patch_user_admin_users__user_id__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "User Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserInfoPatchInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserInfo"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/admin/complexity-scores/activity-burdens": {
"get": {
"tags": [
"Admin"
],
"summary": "Returns activity groups and their corresponding site/patient burdens used for complexity score calculations",
"operationId": "get_complexity_activity_burdens_admin_complexity_scores_activity_burdens_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/ActivityBurden"
},
"type": "array",
"title": "Response Get Complexity Activity Burdens Admin Complexity Scores Activity Burdens Get"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/admin/complexity-scores/burdens": {
"get": {
"tags": [
"Admin"
],
"summary": "Returns site/patient burdens used for complexity score calculations",
"operationId": "get_complexity_burdens_admin_complexity_scores_burdens_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Burden"
},
"type": "array",
"title": "Response Get Complexity Burdens Admin Complexity Scores Burdens Get"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"post": {
"tags": [
"Admin"
],
"summary": "Creates a new or updates and existing site/patient burden used for complexity score calculations",
"operationId": "create_complexity_burden_admin_complexity_scores_burdens_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BurdenInput"
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Burden"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/admin/complexity-scores/burdens/activity-burdens/{activity_subgroup_id}": {
"put": {
"tags": [
"Admin"
],
"summary": "Sets or updates a mapping between an activity subgroup and a site/patient burden used for complexity score calculations",
"operationId": "update_complexity_activity_burden_admin_complexity_scores_burdens_activity_burdens__activity_subgroup_id__put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "activity_subgroup_id",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Activity Subgroup Id"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BurdenIdInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ActivityBurden"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/admin/global-preferences": {
"get": {
"tags": [
"Admin"
],
"summary": "Returns global preferences",
"operationId": "get_global_preferences_admin_global_preferences_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreferencesResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"patch": {
"tags": [
"Admin"
],
"summary": "Update global preferences",
"description": "Update one or more global preference settings",
"operationId": "patch_global_preferences_admin_global_preferences_patch",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GlobalPreferencesPatchInput"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/PreferencesResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/brands": {
"get": {
"tags": [
"Brands"
],
"summary": "Returns all brands.",
"operationId": "get_brands_brands_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/Brand"
},
"type": "array",
"title": "Response Get Brands Brands Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"post": {
"tags": [
"Brands"
],
"summary": "Creates a new brand.",
"operationId": "create_brands_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BrandCreateInput",
"description": "Related parameters of the brand that shall be created."
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Created - The brand was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Brand"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid to process the request. Expect more detailed information in response body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/brands/{brand_uid}": {
"get": {
"tags": [
"Brands"
],
"summary": "Returns the brand identified by the specified 'brand_uid'.",
"operationId": "get_brand_brands__brand_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "brand_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of brand",
"title": "Brand Uid"
},
"description": "The unique id of brand"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Brand"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Brands"
],
"summary": "Deletes the brand identified by 'brand_uid'.",
"operationId": "delete_brands__brand_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "brand_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of brand",
"title": "Brand Uid"
},
"description": "The unique id of brand"
}
],
"responses": {
"204": {
"description": "No Content - The item was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/comment-topics": {
"get": {
"tags": [
"Comments"
],
"summary": "Returns all comment topics",
"operationId": "get_comment_topics_comment_topics_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "topic_path",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
],
"description": "If specified, only topic matching the specified value are returned.",
"title": "Topic Path"
},
"description": "If specified, only topic matching the specified value are returned."
},
{
"name": "topic_path_partial_match",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If `false`, only topics whose topic path is equal to the specified `topic_path` are returned.\n If `true`, topics whose topic path partially matches the specified `topic_path` are returned.",
"default": false,
"title": "Topic Path Partial Match"
},
"description": "If `false`, only topics whose topic path is equal to the specified `topic_path` are returned.\n If `true`, topics whose topic path partially matches the specified `topic_path` are returned."
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CommentTopic_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/comment-threads": {
"get": {
"tags": [
"Comments"
],
"summary": "Returns all comment threads",
"operationId": "get_comment_threads_comment_threads_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "topic_path",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"minLength": 1
},
{
"type": "null"
}
],
"description": "The topic path of the comment thread. If not specified, comment threads associated with any topic are returned.",
"title": "Topic Path"
},
"description": "The topic path of the comment thread. If not specified, comment threads associated with any topic are returned."
},
{
"name": "topic_path_partial_match",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If `false`, only comment threads whose topic path is equal to the specified `topic_path` are returned.\n If `true`, comment threads whose topic path partially matches the specified `topic_path` are returned.",
"default": false,
"title": "Topic Path Partial Match"
},
"description": "If `false`, only comment threads whose topic path is equal to the specified `topic_path` are returned.\n If `true`, comment threads whose topic path partially matches the specified `topic_path` are returned."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/CommentThreadStatus"
},
{
"type": "null"
}
],
"description": "The status of the comment thread. If not specified, comment threads with any status are returned.",
"title": "Status"
},
"description": "The status of the comment thread. If not specified, comment threads with any status are returned."
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CommentThread_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Comments"
],
"summary": "Creates a new comment thread",
"operationId": "create_comment_thread_comment_threads_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentThreadCreateInput",
"description": "Comment thread that shall be created"
}
}
}
},
"responses": {
"201": {
"description": "Comment thread was successfully created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentThread"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/comment-threads/{comment_thread_uid}": {
"get": {
"tags": [
"Comments"
],
"summary": "Returns the comment thread identified by the specified 'comment_thread_uid'.",
"operationId": "get_comment_thread_comment_threads__comment_thread_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comment_thread_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment thread",
"title": "Comment Thread Uid"
},
"description": "Unique id of comment thread"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentThread"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Comments"
],
"summary": "Edits a comment thread's 'text' and/or 'status' properties",
"operationId": "edit_comment_thread_comment_threads__comment_thread_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comment_thread_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment thread",
"title": "Comment Thread Uid"
},
"description": "Unique id of comment thread"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentThreadEditInput",
"description": "Properties of the comment thread that shall be updated"
}
}
}
},
"responses": {
"200": {
"description": "Comment thread was successfully edited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentThread"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Comments"
],
"summary": "Deletes the comment thread identified by 'comment_thread_uid'.",
"operationId": "delete_comment_thread_comment_threads__comment_thread_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comment_thread_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment thread",
"title": "Comment Thread Uid"
},
"description": "Unique id of comment thread"
}
],
"responses": {
"204": {
"description": "No Content - The item was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/comment-threads/{comment_thread_uid}/replies": {
"post": {
"tags": [
"Comments"
],
"summary": "Creates a reply to a comment thread",
"operationId": "create_comment_reply_comment_threads__comment_thread_uid__replies_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comment_thread_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment thread",
"title": "Comment Thread Uid"
},
"description": "Unique id of comment thread"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentReplyCreateInput",
"description": "Comment reply that shall be created"
}
}
}
},
"responses": {
"201": {
"description": "Reply was successfully created",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentReply"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Comments"
],
"summary": "Returns all replies to the specified comment thread",
"operationId": "get_comment_thread_replies_comment_threads__comment_thread_uid__replies_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comment_thread_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment thread",
"title": "Comment Thread Uid"
},
"description": "Unique id of comment thread"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CommentReply"
},
"title": "Response Get Comment Thread Replies Comment Threads Comment Thread Uid Replies Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/comment-threads/{comment_thread_uid}/replies/{reply_uid}": {
"get": {
"tags": [
"Comments"
],
"summary": "Returns the comment thread reply identified by the specified 'reply_uid'.",
"operationId": "get_comment_thread_reply_comment_threads__comment_thread_uid__replies__reply_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comment_thread_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment thread",
"title": "Comment Thread Uid"
},
"description": "Unique id of comment thread"
},
{
"name": "reply_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment reply",
"title": "Reply Uid"
},
"description": "Unique id of comment reply"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentReply"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Comments"
],
"summary": "Edits the specified comment reply's text",
"operationId": "edit_comment_thread_reply_comment_threads__comment_thread_uid__replies__reply_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comment_thread_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment thread",
"title": "Comment Thread Uid"
},
"description": "Unique id of comment thread"
},
{
"name": "reply_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment reply",
"title": "Reply Uid"
},
"description": "Unique id of comment reply"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentReplyEditInput",
"description": "Updated text of the comment reply"
}
}
}
},
"responses": {
"200": {
"description": "Comment reply was successfully edited",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CommentReply"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Comments"
],
"summary": "Deletes the comment reply identified by 'reply_uid'.",
"operationId": "delete_comment_reply_comment_threads__comment_thread_uid__replies__reply_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "comment_thread_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment thread",
"title": "Comment Thread Uid"
},
"description": "Unique id of comment thread"
},
{
"name": "reply_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Unique id of comment reply",
"title": "Reply Uid"
},
"description": "Unique id of comment reply"
}
],
"responses": {
"204": {
"description": "No Content - The item was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns all studies in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_studies_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyCompactComponentEnum"
}
},
{
"type": "null"
}
],
"description": "Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - version_metadata\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Include Sections"
},
"description": "Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - version_metadata\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyCompactComponentEnum"
}
},
{
"type": "null"
}
],
"description": "Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - version_metadata\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Exclude Sections"
},
"description": "Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - version_metadata\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "has_study_objective",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Optionally, filter studies based on the existence of related Study Objectives or not",
"title": "Has Study Objective"
},
"description": "Optionally, filter studies based on the existence of related Study Objectives or not"
},
{
"name": "has_study_footnote",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Optionally, filter studies based on the existence of related Study SoA Footnotes or not",
"title": "Has Study Footnote"
},
"description": "Optionally, filter studies based on the existence of related Study SoA Footnotes or not"
},
{
"name": "has_study_endpoint",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Optionally, filter studies based on the existence of related Study Endpoints or not",
"title": "Has Study Endpoint"
},
"description": "Optionally, filter studies based on the existence of related Study Endpoints or not"
},
{
"name": "has_study_criteria",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Optionally, filter studies based on the existence of related Study Criteria or not",
"title": "Has Study Criteria"
},
"description": "Optionally, filter studies based on the existence of related Study Criteria or not"
},
{
"name": "has_study_activity",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Optionally, filter studies based on the existence of related Study Activities or not",
"title": "Has Study Activity"
},
"description": "Optionally, filter studies based on the existence of related Study Activities or not"
},
{
"name": "has_study_activity_instruction",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Optionally, filter studies based on the existence of related sTudy Activity Instruction or not",
"title": "Has Study Activity Instruction"
},
"description": "Optionally, filter studies based on the existence of related sTudy Activity Instruction or not"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "deleted",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether to return 'Active' Studies or 'Deleted' ones.",
"default": false,
"title": "Deleted"
},
"description": "Indicates whether to return 'Active' Studies or 'Deleted' ones."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CompactStudy_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Studies"
],
"summary": "Creates a new Study Definition.",
"description": "If the request succeeds new DRAFT Study Definition will be with initial identification data as provided in \nrequest body with new unique uid generated and returned in response body.",
"operationId": "create_studies_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySubpartCreateInput"
},
{
"$ref": "#/components/schemas/StudyCreateInput"
}
],
"description": "Related parameters of the objective that shall be created.",
"title": "Study Create Input"
}
}
}
},
"responses": {
"201": {
"description": "Created - The study was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Study"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid to process the request. Expect more detailed information in response body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/list": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns a list of studies with their ids and acronyms.",
"description": "Returns a list of studies",
"operationId": "get_studies_list_studies_list_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "minimal_response",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether to return minimal response with only `uid`, `id` and `acronym`.",
"default": true,
"title": "Minimal Response"
},
"description": "Indicates whether to return minimal response with only `uid`, `id` and `acronym`."
},
{
"name": "has_study_objective",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter studies by Study Objectives presence: `true` (has objectives), `false` (no objectives), or omit (all studies).",
"title": "Has Study Objective"
},
"description": "Filter studies by Study Objectives presence: `true` (has objectives), `false` (no objectives), or omit (all studies)."
},
{
"name": "has_study_footnote",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter studies by Study Objectives presence: `true` (has objectives), `false` (no objectives), or omit (all studies).",
"title": "Has Study Footnote"
},
"description": "Filter studies by Study Objectives presence: `true` (has objectives), `false` (no objectives), or omit (all studies)."
},
{
"name": "has_study_endpoint",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter studies by Study Endpoints presence: `true` (has endpoints), `false` (no endpoints), or omit (all studies).",
"title": "Has Study Endpoint"
},
"description": "Filter studies by Study Endpoints presence: `true` (has endpoints), `false` (no endpoints), or omit (all studies)."
},
{
"name": "has_study_criteria",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter studies by Study Criteria presence: `true` (has criteria), `false` (no criteria), or omit (all studies).",
"title": "Has Study Criteria"
},
"description": "Filter studies by Study Criteria presence: `true` (has criteria), `false` (no criteria), or omit (all studies)."
},
{
"name": "has_study_activity",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter studies by Study Activities presence: `true` (has activities), `false` (no activities), or omit (all studies).",
"title": "Has Study Activity"
},
"description": "Filter studies by Study Activities presence: `true` (has activities), `false` (no activities), or omit (all studies)."
},
{
"name": "has_study_activity_instruction",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter studies by Study Activity Instructions presence: `true` (has activity instructions), `false` (no activity instructions), or omit (all studies).",
"title": "Has Study Activity Instruction"
},
"description": "Filter studies by Study Activity Instructions presence: `true` (has activity instructions), `false` (no activity instructions), or omit (all studies)."
},
{
"name": "deleted",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether to return 'Active' Studies or 'Deleted' ones.",
"default": false,
"title": "Deleted"
},
"description": "Indicates whether to return 'Active' Studies or 'Deleted' ones."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySimple"
},
{
"$ref": "#/components/schemas/StudyMinimal"
}
]
},
"title": "Response Get Studies List Studies List Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/template": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns the active study template, if any.",
"operationId": "get_study_template_studies_template_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudyTemplate"
},
{
"type": "null"
}
],
"title": "Response Get Study Template Studies Template Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"post": {
"tags": [
"Studies"
],
"summary": "Creates the study template configuration.",
"operationId": "create_study_template_studies_template_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyTemplateInput",
"description": "Study template target study reference."
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"patch": {
"tags": [
"Studies"
],
"summary": "Updates the study template with a new version.",
"operationId": "patch_study_template_studies_template_patch",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyTemplatePatchInput",
"description": "Updated study template target."
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/studies/template/activations": {
"post": {
"tags": [
"Studies"
],
"summary": "Reactivates a retired study template.",
"operationId": "reactivate_study_template_studies_template_activations_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/EditInputModel"
},
{
"type": "null"
}
],
"title": " ",
"description": "Optional change description payload."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"delete": {
"tags": [
"Studies"
],
"summary": "Retires the current study template.",
"operationId": "retire_study_template_studies_template_activations_delete",
"requestBody": {
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/EditInputModel"
},
{
"type": "null"
}
],
"title": " ",
"description": "Optional change description payload."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyTemplate"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/studies/structure-overview": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns an overview of study structure of all studies.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_study_structure_overview_studies_structure_overview_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {},
"title": "Sort By"
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyStructureOverview_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/structure-overview/headers": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_study_structure_overview_header_studies_structure_overview_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Study Structure Overview Header Studies Structure Overview Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/headers": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns possibles values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_studies_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Studies Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/locks": {
"post": {
"tags": [
"Studies"
],
"summary": "Locks a Study with specified uid",
"description": "The Study is locked, which means that the LATEST_LOCKED relationship in the database is created.The first locked version obtains number '1' and each next locked version is incremented number of the last locked version. The Study exists in the LOCKED state after successful lock",
"operationId": "lock_studies__study_uid__locks_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LockReleaseInput",
"description": "The data (reason_for_lock and description) needed for locked version."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Study"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "ValidationException - The business rules were not met",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/unlocks": {
"post": {
"tags": [
"Studies"
],
"summary": "Unlocks a Study with specified uid",
"description": "The Study is unlocked, which means that the new DRAFT version of a Study is created and the Study exists in the DRAFT state.",
"operationId": "unlock_studies__study_uid__unlocks_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnlockInput",
"description": "The data (reason_for_unlock and description) needed for unlocked version."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Study"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "ValidationException - The business rules were not met",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/release": {
"post": {
"tags": [
"Studies"
],
"summary": "Releases a Study with specified uid",
"description": "The Study is released, which means that 'snapshot' of the Study is created in the databaseand the LATEST_RELEASED relationship is created that points to the created snapshot.What's more the new LATEST_DRAFT node is created that describes the new Draft Study after releasing.",
"operationId": "release_studies__study_uid__release_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/LockReleaseInput",
"description": "The data (reason_for_release and description) needed for released version."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Study"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "ValidationException - The business rules were not met",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}": {
"delete": {
"tags": [
"Studies"
],
"summary": "Deletes a Study",
"description": "State before:\n - uid must exist\n - The Study must be in status Draft and it couldn't be locked before.\n\nBusiness logic:\n - The draft Study is deleted.\n\nState after:\n - Study is successfully deleted.\n\nPossible errors:\n - Invalid uid or status not Draft or Study was previously locked.",
"operationId": "delete_study_studies__study_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"204": {
"description": "No Content - The Study was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "ValidationException - The business rules were not met",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Studies"
],
"summary": "Returns the current state of a specific study definition identified by 'study_uid'.",
"description": "If multiple request query parameters are used, then they need to match all at the same time (they are combined with the AND operation).",
"operationId": "get_studies__study_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Include Sections"
},
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned.",
"title": "Exclude Sections"
},
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no filters are specified, the default sections are returned."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudyStatus"
},
{
"type": "null"
}
],
"description": "If specified, the last representation of the study in that status is returned (if existent).Valid values are: 'Released', 'Draft' or 'Locked'.",
"title": "Status"
},
"description": "If specified, the last representation of the study in that status is returned (if existent).Valid values are: 'Released', 'Draft' or 'Locked'."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Study"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Studies"
],
"summary": "Request to change some aspects (parts) of a specific study definition identified by 'study_uid'.",
"description": "The request to change (some aspect) of the state of current aggregate. There are some special cases and considerations:\n* patching study_status in current_metadata.version_metadata is considered as the request for locking/unlocking/releasing the study definition and should not be combined with any other changes\n* there are many business rules that apply in different patching scenario or state of the study definition. If request is not compliant it will fail with 403 and response body will (hopefully) explain what is wrong.\n* the method may be invoked with dry=true query param. if that's the case it wokrs the same except that any change made to the resource are not persisted (however all validations are performed.",
"operationId": "patch_studies__study_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "dry",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "If specified the operation does full validation and returns either 200 or 403 butnothing is persisted.",
"default": false,
"title": "Dry"
},
"description": "If specified the operation does full validation and returns either 200 or 403 butnothing is persisted."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyPatchRequestJsonModel",
"description": "The request with the structure similar to the GET /{study_uid} response. Carrying only thosefields requested to change."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Study"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid to process the request. Expect more detailed information in response body.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/integrity-check": {
"get": {
"tags": [
"Studies"
],
"summary": "Run integrity checks for a specific study",
"description": "Executes database integrity checks for the specified study and returns detailed results including all checks and non-compliant entities.",
"operationId": "run_integrity_check_for_study_studies__study_uid__integrity_check_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyIntegrityCheckResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/structure-statistics": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns various statistics about the structure of the study identified by 'study_uid'.",
"operationId": "get_structure_statistics_studies__study_uid__structure_statistics_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyStructureStatistics"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-selection-containment/{target_study_uid}": {
"get": {
"tags": [
"Studies"
],
"summary": "Whether target study selection statistics are contained in the source study.",
"description": "Compares selection counts (and distinct CT term roots) for each concrete selection label that appears on **target_study_uid** against **study_uid** (source). Returns whether target counts are <= source for every such label, plus per-label figures. **StudySoAFootnote** is excluded (conditional clone rules make footnote counts incomparable).",
"operationId": "get_study_selection_containment_studies__study_uid__study_selection_containment__target_study_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "target_study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the target study (e.g. a clone). Only selection labels that appear on this study are included in the comparison.",
"title": "Target Study Uid"
},
"description": "The unique id of the target study (e.g. a clone). Only selection labels that appear on this study are included in the comparison."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionContainmentResult"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - source or target study uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/pharma-cm": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns the pharma-cm represention of study identified by 'study_uid'.",
"operationId": "get_pharma_cm_representation_studies__study_uid__pharma_cm_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyPharmaCM"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/pharma-cm.xml": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns the pharma-cm represention of study identified by 'study_uid' in the xml format.",
"operationId": "get_pharma_cm_xml_representation_studies__study_uid__pharma_cm_xml_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"text/xml": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/snapshot-history": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns the history of study snapshot definitions",
"description": "It returns the history of changes made to the specified Study Definition Snapshot.The returned history should reflect HAS_VERSION relationships in the database between StudyRoot and StudyValue nodes",
"operationId": "get_snapshot_history_studies__study_uid__snapshot_history_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "only_latest_major_protocol_version",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether Study snapshots without protocol header version should be returned",
"default": false,
"title": "Only Latest Major Protocol Version"
},
"description": "Indicates whether Study snapshots without protocol header version should be returned"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyVersionHistory_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid' (and the specified date/time and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/protocol-header-versions": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns the latest available protocol header version and whether the study contains a 'Final Protocol' locked version.",
"operationId": "get_protocol_header_version_studies__study_uid__protocol_header_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyProtocolHeaderVersion"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid'",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/fields-audit-trail": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns the audit trail for the fields of a specific study definition identified by 'study_uid'.",
"description": "Actions on the study are grouped by date of edit.Optionally select which subset of fields should be reflected in the audit trail.",
"operationId": "get_fields_audit_trail_studies__study_uid__fields_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "include_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no sections are specified, the whole audit trail is returned.",
"title": "Include Sections"
},
"description": "\n Optionally specify a list of sections to include from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no sections are specified, the whole audit trail is returned."
},
{
"name": "exclude_sections",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyComponentEnum"
}
},
{
"type": "null"
}
],
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no sections are specified, the whole audit trail is returned.",
"title": "Exclude Sections"
},
"description": "\n Optionally specify a list of sections to exclude from the StudyDefinition.\n\n Valid values are:\n\n - identification_metadata\n - registry_identifiers\n - version_metadata\n - high_level_study_design\n - study_population\n - study_intervention\n - study_description\n\n If no sections are specified, the whole audit trail is returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyFieldAuditTrailEntry"
},
"title": "Response Get Fields Audit Trail Studies Study Uid Fields Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/audit-trail": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns the audit trail for the subparts of a specific study definition identified by 'study_uid'.",
"description": "Actions on the study are grouped by date of edit. Optionally select which subset of fields should be reflected in the audit trail.",
"operationId": "get_study_subpart_audit_trail_studies__study_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "is_subpart",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"default": false,
"title": "Is Subpart"
}
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySubpartAuditTrail_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/clone": {
"post": {
"tags": [
"Studies"
],
"summary": "Creates a cloned Study Definition with selective copying.",
"description": "Creates a new DRAFT Study Definition by cloning an existing study. \nThe client can specify which parts of the study should be copied using the request body.",
"operationId": "clone_study_studies__study_uid__clone_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Uid"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyCloneInput"
}
}
}
},
"responses": {
"201": {
"description": "Created - The study was successfully cloned.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Study"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Some application/business rules forbid processing the request.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/protocol-title": {
"get": {
"tags": [
"Studies"
],
"summary": "Retrieve all information related to Protocol Title",
"description": "State before:\n - Study-uid must exist\n\nBusiness logic:\n - Retrieve Study title, Universal Trial Number, EudraCT number, IND number, Study phase fields\n - Retrieve all names of study compounds associated to {study_uid} and where type of treatment is equal to Investigational Product\n\nState after:\n - No change",
"operationId": "get_protocol_title_studies__study_uid__protocol_title_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyProtocolTitle"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/copy-component": {
"get": {
"tags": [
"Studies"
],
"summary": "Creates a project of a specific component copy from another study",
"description": "State before:\n - uid must exist\n - reference_study_uid must exist\n\nBusiness logic:\n - if overwrite is set to false, then only properties that are not set are copied over to the target Study.\n - if overwrite is set to true, then all the properties from the reference_study_uid Study are copied over to the target Study.\n\nState after:\n - The specific form is copied or projected into a study referenced by uid 'study_uid'.",
"operationId": "copy_simple_form_from_another_study_studies__study_uid__copy_component_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "reference_study_uid",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The uid of the study to copy component from",
"title": "Reference Study Uid"
},
"description": "The uid of the study to copy component from"
},
{
"name": "component_to_copy",
"in": "query",
"required": true,
"schema": {
"$ref": "#/components/schemas/StudyCopyComponentEnum",
"description": "The uid of the study to copy component from"
},
"description": "The uid of the study to copy component from"
},
{
"name": "overwrite",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether to overwrite the component of the study referenced by the uidor return a projection",
"default": false,
"title": "Overwrite"
},
"description": "Indicates whether to overwrite the component of the study referenced by the uidor return a projection"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Study"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/time-units": {
"get": {
"tags": [
"Studies"
],
"summary": "Gets a study preferred time unit",
"operationId": "get_preferred_time_unit_studies__study_uid__time_units_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "for_protocol_soa",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether the preferred time unit is associated with Protocol SoA or not.",
"default": false,
"title": "For Protocol Soa"
},
"description": "Whether the preferred time unit is associated with Protocol SoA or not."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyPreferredTimeUnit"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study or unit definition with the specified 'study_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Studies"
],
"summary": "Edits a study preferred time unit",
"operationId": "patch_preferred_time_unit_studies__study_uid__time_units_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "for_protocol_soa",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether the preferred time unit is associated with Protocol Soa or not.",
"default": false,
"title": "For Protocol Soa"
},
"description": "Whether the preferred time unit is associated with Protocol Soa or not."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyPreferredTimeUnitInput",
"description": "Data needed to create a study preferred time unit"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyPreferredTimeUnit"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study or unit definition with the specified 'study_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/order": {
"patch": {
"tags": [
"Studies"
],
"summary": "Reorder Study Subparts within a Study Parent Part",
"operationId": "reorder_study_subparts_studies__study_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySubpartReorderingInput"
},
{
"type": "null"
}
],
"description": "Specify the Study Subpart to be reordered. If provided, the specified Study Subpart will be reordered; otherwise, any gaps in the order will be filled.",
"title": "Study Subpart Reordering Input"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Study"
},
"title": "Response Reorder Study Subparts Studies Study Uid Order Patch"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study with the specified 'study_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/soa-preferences": {
"get": {
"tags": [
"Studies"
],
"summary": "Get study SoA preferences",
"operationId": "get_soa_preferences_studies__study_uid__soa_preferences_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoaPreferences"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - study with the specified 'study_uid' doesn't exist or has no SoA preferences set",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Studies"
],
"summary": "Update study SoA preferences",
"operationId": "patch_soa_preferences_studies__study_uid__soa_preferences_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoaPreferencesInput",
"description": "SoA preferences data"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoaPreferences"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - study with the specified 'study_uid' doesn't exist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/soa-splits": {
"get": {
"tags": [
"Studies"
],
"summary": "Get SoA split uids",
"operationId": "get_soa_splits_studies__study_uid__soa_splits_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoaSplit"
},
"title": "Response Get Soa Splits Studies Study Uid Soa Splits Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - study with the specified 'study_uid' doesn't exist or has no SoA splits configured",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"tags": [
"Studies"
],
"summary": "Add a uid to SoA splits",
"operationId": "put_soa_split_studies__study_uid__soa_splits_put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoaSplitInput",
"description": "SoA split input"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoaSplit"
},
"title": "Response Put Soa Split Studies Study Uid Soa Splits Put"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - study with the specified 'study_uid' doesn't exist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "Conflict - The uid to add is already in the SoA splits",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Studies"
],
"summary": "Remove all SoA splits",
"operationId": "remove_soa_splits_studies__study_uid__soa_splits_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - study with the specified 'study_uid' doesn't exist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/soa-splits/{study_visit_uid}": {
"delete": {
"tags": [
"Studies"
],
"summary": "Remove a uid from SoA splits",
"operationId": "remove_soa_split_studies__study_uid__soa_splits__study_visit_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_visit_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "SoA split uid",
"title": "Study Visit Uid"
},
"description": "SoA split uid"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoaSplit"
},
"title": "Response Remove Soa Split Studies Study Uid Soa Splits Study Visit Uid Delete"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - study with the specified 'study_uid' doesn't exist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/complexity-score": {
"get": {
"tags": [
"Studies"
],
"summary": "Get study complexity score",
"operationId": "get_complexity_score_studies__study_uid__complexity_score_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Study Version Number",
"title": "Study Value Version"
},
"description": "Study Version Number",
"examples": {
"2.1": {
"value": "2.1"
}
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "number",
"title": "Response Get Complexity Score Studies Study Uid Complexity Score Get"
}
}
}
},
"404": {
"description": "Not Found - study with the specified 'study_uid' doesn't exist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/complexity-score-details": {
"get": {
"tags": [
"Studies"
],
"summary": "Get detailed study complexity score breakdown",
"operationId": "get_complexity_score_details_studies__study_uid__complexity_score_details_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Study Version Number",
"title": "Study Value Version"
},
"description": "Study Version Number",
"examples": {
"2.1": {
"value": "2.1"
}
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ComplexityScoreDetails"
}
}
}
},
"404": {
"description": "Not Found - study with the specified 'study_uid' doesn't exist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/design.svg": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns a Study Design visualization image in SVG format",
"operationId": "get_study_flowchart_html_studies__study_uid__design_svg_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "debug",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Draw some lines for debugging the image layout",
"default": false,
"title": "Debug"
},
"description": "Draw some lines for debugging the image layout"
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"image/svg+xml": {
"schema": {
"type": "string"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/flowchart/coordinates": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns uid to [row,column] coordinates mapping of items included in SoA Protocol Flowchart table",
"operationId": "get_study_flowchart_coordinates_studies__study_uid__flowchart_coordinates_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": {
"type": "array",
"prefixItems": [
{
"type": "integer"
},
{
"type": "integer"
}
],
"minItems": 2,
"maxItems": 2
},
"title": "Response Get Study Flowchart Coordinates Studies Study Uid Flowchart Coordinates Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/flowchart": {
"get": {
"tags": [
"Studies"
],
"summary": "Protocol, Detailed or Operational SoA table with footnotes as JSON",
"operationId": "get_study_flowchart_studies__study_uid__flowchart_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "time_unit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^(week|day)$"
},
{
"type": "null"
}
],
"description": "The preferred time unit, either day or week.",
"title": "Time Unit"
},
"description": "The preferred time unit, either day or week."
},
{
"name": "layout",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/SoALayout",
"description": "The requested layout or detail level of Schedule of Activities",
"default": "protocol"
},
"description": "The requested layout or detail level of Schedule of Activities"
},
{
"name": "force_build",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Force building of SoA without using any saved snapshot",
"default": false,
"title": "Force Build"
},
"description": "Force building of SoA without using any saved snapshot"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TableWithFootnotes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/flowchart.html": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns an HTML document with Protocol, Detailed or Operational SoA table with footnotes",
"operationId": "get_study_flowchart_html_studies__study_uid__flowchart_html_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "time_unit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^(week|day)$"
},
{
"type": "null"
}
],
"description": "The preferred time unit, either day or week.",
"title": "Time Unit"
},
"description": "The preferred time unit, either day or week."
},
{
"name": "layout",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/SoALayout",
"description": "The requested layout or detail level of Schedule of Activities",
"default": "protocol"
},
"description": "The requested layout or detail level of Schedule of Activities"
},
{
"name": "debug_uids",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Show uids on column superscript",
"default": false,
"title": "Debug Uids"
},
"description": "Show uids on column superscript"
},
{
"name": "debug_coordinates",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Debug coordinates as superscripts",
"default": false,
"title": "Debug Coordinates"
},
"description": "Debug coordinates as superscripts"
},
{
"name": "debug_propagation",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Debug propagations without hiding rows",
"default": false,
"title": "Debug Propagation"
},
"description": "Debug propagations without hiding rows"
},
{
"name": "include_uids",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Include uids in the HTML as data attributes",
"default": false,
"title": "Include Uids"
},
"description": "Include uids in the HTML as data attributes"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"text/html": {
"schema": {
"type": "string"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/flowchart.docx": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns an DOCX document with Protocol, Detailed or Operational SoA table with footnotes",
"operationId": "get_study_flowchart_docx_studies__study_uid__flowchart_docx_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "time_unit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^(week|day)$"
},
{
"type": "null"
}
],
"description": "The preferred time unit, either day or week.",
"title": "Time Unit"
},
"description": "The preferred time unit, either day or week."
},
{
"name": "layout",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/SoALayout",
"description": "The requested layout or detail level of Schedule of Activities",
"default": "protocol"
},
"description": "The requested layout or detail level of Schedule of Activities"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/flowchart.xlsx": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns an XLSX document with Protocol, Detailed or Operational SoA table with footnotes",
"operationId": "get_study_flowchart_xlsx_studies__study_uid__flowchart_xlsx_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "time_unit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^(week|day)$"
},
{
"type": "null"
}
],
"description": "The preferred time unit, either day or week.",
"title": "Time Unit"
},
"description": "The preferred time unit, either day or week."
},
{
"name": "layout",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/SoALayout",
"description": "The requested layout or detail level of Schedule of Activities",
"default": "protocol"
},
"description": "The requested layout or detail level of Schedule of Activities"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/operational-soa.xlsx": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns an XLSX document with Operational SoA",
"operationId": "get_operational_soa_xlsx_studies__study_uid__operational_soa_xlsx_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "time_unit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^(week|day)$"
},
{
"type": "null"
}
],
"description": "The preferred time unit, either day or week.",
"title": "Time Unit"
},
"description": "The preferred time unit, either day or week."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/operational-soa.html": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns an HTML document with Operational SoA",
"operationId": "get_operational_soa_html_studies__study_uid__operational_soa_html_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "time_unit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^(week|day)$"
},
{
"type": "null"
}
],
"description": "The preferred time unit, either day or week.",
"title": "Time Unit"
},
"description": "The preferred time unit, either day or week."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"text/html": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/detailed-soa.xlsx": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns an XLSX document with Detailed SoA",
"operationId": "get_detailed_soa_xlsx_studies__study_uid__detailed_soa_xlsx_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "time_unit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^(week|day)$"
},
{
"type": "null"
}
],
"description": "The preferred time unit, either day or week.",
"title": "Time Unit"
},
"description": "The preferred time unit, either day or week."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/detailed-soa.html": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns an HTML document with Detailed SoA",
"operationId": "get_detailed_soa_html_studies__study_uid__detailed_soa_html_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "time_unit",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^(week|day)$"
},
{
"type": "null"
}
],
"description": "The preferred time unit, either day or week.",
"title": "Time Unit"
},
"description": "The preferred time unit, either day or week."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"text/html": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/detailed-soa-history": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns the history of changes performed to a specific detailed SoA",
"operationId": "get_detailed_soa_history_studies__study_uid__detailed_soa_history_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_DetailedSoAHistory_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/detailed-soa-exports": {
"get": {
"tags": [
"Studies"
],
"summary": "Exports the Detailed SoA content",
"operationId": "export_detailed_soa_content_studies__study_uid__detailed_soa_exports_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Response Export Detailed Soa Content Studies Study Uid Detailed Soa Exports Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/operational-soa-exports": {
"get": {
"tags": [
"Studies"
],
"summary": "Exports the Operational SoA content",
"operationId": "export_operational_soa_content_studies__study_uid__operational_soa_exports_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Response Export Operational Soa Content Studies Study Uid Operational Soa Exports Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/protocol-soa-exports": {
"get": {
"tags": [
"Studies"
],
"summary": "Exports the Protocol SoA content",
"operationId": "export_protocol_soa_content_studies__study_uid__protocol_soa_exports_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "protocol_lab_table",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether to export Protocol Lab table SoA",
"default": false,
"title": "Protocol Lab Table"
},
"description": "Whether to export Protocol Lab table SoA"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Response Export Protocol Soa Content Studies Study Uid Protocol Soa Exports Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/flowchart/snapshot": {
"get": {
"tags": [
"Studies",
"Data Migration"
],
"summary": "Retrieve the saved SoA snapshot for a study version. If no SoA snapshot saved, returns 404.",
"operationId": "get_soa_snapshot_studies__study_uid__flowchart_snapshot_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "layout",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/SoALayout",
"description": "The requested layout or detail level of Schedule of Activities",
"default": "protocol"
},
"description": "The requested layout or detail level of Schedule of Activities"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TableWithFootnotes"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Studies",
"Data Migration"
],
"summary": "Update SoA snapshot for a study version based on the recent SoA rules (intended for data migration only)",
"operationId": "update_soa_snapshot_studies__study_uid__flowchart_snapshot_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": true,
"schema": {
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$",
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "layout",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/SoALayout",
"description": "The requested layout or detail level of Schedule of Activities",
"default": "protocol"
},
"description": "The requested layout or detail level of Schedule of Activities"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"201": {
"description": "SoA snapshot updated"
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/interventions": {
"get": {
"tags": [
"Studies"
],
"summary": "Returns Study Protocol Interventions table",
"operationId": "get_study_interventions_studies__study_uid__interventions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TableWithFootnotes"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/interventions.html": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns an HTML document of Study Protocol Interventions table",
"operationId": "get_study_interventions_html_studies__study_uid__interventions_html_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"text/html": {
"schema": {
"type": "string"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/interventions.docx": {
"get": {
"tags": [
"Studies"
],
"summary": "Builds and returns a DOCX document of Study Protocol Interventions table",
"operationId": "get_study_interventions_docx_studies__study_uid__interventions_docx_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/odm-forms": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Get a paginated list of study data suppliers of a study",
"operationId": "get_a_paginated_list_of_study_crfs_of_a_study_studies__study_uid__odm_forms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": true
},
"title": "Response Get A Paginated List Of Study Crfs Of A Study Studies Study Uid Odm Forms Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-data-suppliers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Get a paginated list of study data suppliers",
"operationId": "get_a_paginated_list_of_study_data_suppliers_study_data_suppliers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionDataSupplier_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-data-suppliers/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_study_data_supplier_values_for_header_study_data_suppliers_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Study Data Supplier Values For Header Study Data Suppliers Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-data-suppliers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Get a paginated list of study data suppliers of a study",
"operationId": "get_a_paginated_list_of_study_data_suppliers_of_a_study_studies__study_uid__study_data_suppliers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionDataSupplier_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-data-suppliers/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_study_data_supplier_values_of_a_study_for_header_studies__study_uid__study_data_suppliers_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Study Data Supplier Values Of A Study For Header Studies Study Uid Study Data Suppliers Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-data-suppliers/{study_data_supplier_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail of a specific study data supplier.",
"operationId": "get_specific_study_data_supplier_audit_trail_studies__study_uid__study_data_suppliers__study_data_supplier_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_data_supplier_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Data Supplier Uid"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionDataSupplier"
},
"title": "Response Get Specific Study Data Supplier Audit Trail Studies Study Uid Study Data Suppliers Study Data Supplier Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-data-suppliers/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail of a specific study data supplier.",
"operationId": "get_study_data_suppliers_audit_trail_studies__study_uid__study_data_suppliers_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionDataSupplier"
},
"title": "Response Get Study Data Suppliers Audit Trail Studies Study Uid Study Data Suppliers Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-data-suppliers/sync": {
"put": {
"tags": [
"Study Selections"
],
"summary": "Sync study data suppliers to match the desired state",
"description": "Accepts a list of data suppliers and syncs the study to match.\n Validates all inputs first - if duplicates or invalid suppliers are found,\n rejects the entire request with an error. No changes are made unless all validation passes.",
"operationId": "sync_study_data_suppliers_studies__study_uid__study_data_suppliers_sync_put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionDataSupplierSyncInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionDataSupplier"
},
"title": "Response Sync Study Data Suppliers Studies Study Uid Study Data Suppliers Sync Put"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-data-suppliers/{study_data_supplier_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Get a specific study data supplier selection",
"operationId": "get_a_data_supplier_studies__study_uid__study_data_suppliers__study_data_supplier_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_data_supplier_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Data Supplier Uid"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"tags": [
"Study Selections"
],
"summary": "Updating a study data supplier selection based on the input data",
"operationId": "update_a_data_supplier_studies__study_uid__study_data_suppliers__study_data_supplier_uid__put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_data_supplier_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Data Supplier Uid"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionDataSupplierInput"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Deleting a study data supplier selection",
"operationId": "delete_a_study_data_supplier_studies__study_uid__study_data_suppliers__study_data_supplier_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_data_supplier_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Data Supplier Uid"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-data-suppliers/{study_data_supplier_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Set new order for a study data supplier selection",
"operationId": "set_order_for_a_data_supplier_studies__study_uid__study_data_suppliers__study_data_supplier_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_data_supplier_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Data Supplier Uid"
}
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionDataSupplierNewOrder"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-objectives": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study objectives currently selected",
"operationId": "get_all_selected_objectives_for_all_studies_study_objectives_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "no_brackets",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether brackets around Template Parameters in the Objectiveshould be returned",
"default": false,
"title": "No Brackets"
},
"description": "Indicates whether brackets around Template Parameters in the Objectiveshould be returned"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionObjective_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-objectives/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_objective_values_for_header_study_objectives_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Objective Values For Header Study Objectives Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study objectives currently selected for study with provided uid",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_objectives_studies__study_uid__study_objectives_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "no_brackets",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether brackets around Template Parameters in the Objectiveshould be returned",
"default": false,
"title": "No Brackets"
},
"description": "Indicates whether brackets around Template Parameters in the Objectiveshould be returned"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_StudySelectionObjective_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Creating a study objective selection based on the input data, including optionally creating a library objective",
"operationId": "post_new_objective_selection_create_studies__study_uid__study_objectives_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "create_objective",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether the specified objective should be created in the library.\n- If this parameter is set to `true`, a `StudySelectionObjectiveCreateInput` payload needs to be sent.\n- Otherwise, `StudySelectionObjectiveInput` payload should be sent, referencing an existing library objective by uid.",
"default": false,
"title": "Create Objective"
},
"description": "Indicates whether the specified objective should be created in the library.\n- If this parameter is set to `true`, a `StudySelectionObjectiveCreateInput` payload needs to be sent.\n- Otherwise, `StudySelectionObjectiveInput` payload should be sent, referencing an existing library objective by uid."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySelectionObjectiveCreateInput"
},
{
"$ref": "#/components/schemas/StudySelectionObjectiveInput"
}
],
"description": "Parameters of the selection that shall be created.",
"title": "Selection"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the objective",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or objective is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_studies__study_uid__study_objectives_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Studies Study Uid Study Objectives Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study objectives.",
"description": "The following values should be return for all study objectives.\n- date_time\n- author_username\n- action\n- objective_template\n- objective\n- objective_level\n- order",
"operationId": "get_all_objectives_audit_trail_studies__study_uid__study_objectives_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionObjectiveCore"
},
"title": "Response Get All Objectives Audit Trail Studies Study Uid Study Objectives Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/{study_objective_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study objective",
"operationId": "get_selected_objective_studies__study_uid__study_objectives__study_objective_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study objective.",
"title": "Study Objective Uid"
},
"description": "The unique id of the study objective."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the objective for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Deletes a study objective",
"operationId": "delete_selected_objective_studies__study_uid__study_objectives__study_objective_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study objective.",
"title": "Study Objective Uid"
},
"description": "The unique id of the study objective."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the objective and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "update the objective level of a study objective",
"operationId": "patch_update_objective_selection_studies__study_uid__study_objectives__study_objective_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study objective.",
"title": "Study Objective Uid"
},
"description": "The unique id of the study objective."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjectiveInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and objective.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/{study_objective_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study objective.",
"description": "The following values should be return for selected study objective:\n- date_time\n- author_username\n- action\n- objective_template\n- objective\n- objective_level\n- order",
"operationId": "get_selected_objective_audit_trail_studies__study_uid__study_objectives__study_objective_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study objective.",
"title": "Study Objective Uid"
},
"description": "The unique id of the study objective."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionObjectiveCore"
},
"title": "Response Get Selected Objective Audit Trail Studies Study Uid Study Objectives Study Objective Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the objective for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/batch-select": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Select multiple objective templates as a batch. If the template has no parameters, will also create the instance.",
"description": "State before:\n - Study must exist and study status must be in draft.\n\n Business logic:\n - Select objective template without instantiating them.\n - This must be done as a batch\n\n State after:\n - Study objectives are created.\n - Objective templates are all selected by the study objective.\n - If a given template has no parameters, the instance will be created and selected.\n - Added new entry in the audit trail for the creation of the study-objective.\n\n Possible errors:\n - Invalid study-uid.\n - Invalid study-objective-template-uid.\n\n Returned data:\n List selected objective templates/instances with the following information:\n - study_uid\n - study_objective_template_uid / study_objective_uid\n - order (Derived Integer)\n - latest version of the selected objective template/instance",
"operationId": "post_batch_select_objective_template_studies__study_uid__study_objectives_batch_select_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionObjectiveTemplateSelectInput"
},
"description": "List of objects with properties needed to identify the templates to select",
"title": "Selection"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionObjective"
},
"title": "Response Post Batch Select Objective Template Studies Study Uid Study Objectives Batch Select Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the objective",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or objective is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/preview": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Preview creating a study objective selection based on the input data",
"operationId": "preview_new_objective_selection_create_studies__study_uid__study_objectives_preview_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjectiveCreateInput",
"description": "Related parameters of the selection that shall be previewed."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the objective",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or objective is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/{study_objective_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change a order of a study objective",
"operationId": "patch_new_objective_selection_order_studies__study_uid__study_objectives__study_objective_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study objective.",
"title": "Study Objective Uid"
},
"description": "The unique id of the study objective."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjectiveNewOrder",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and objective to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/{study_objective_uid}/sync-latest-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "update to latest objective version study selection",
"operationId": "sync_latest_version_studies__study_uid__study_objectives__study_objective_uid__sync_latest_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study objective.",
"title": "Study Objective Uid"
},
"description": "The unique id of the study objective."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and objective.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-endpoints": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study endpoints currently selected",
"operationId": "get_all_selected_endpoints_for_all_studies_study_endpoints_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "no_brackets",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether brackets around Template Parameters in the Endpointshould be returned",
"default": false,
"title": "No Brackets"
},
"description": "Indicates whether brackets around Template Parameters in the Endpointshould be returned"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionEndpoint_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-endpoints/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_endpoint_values_for_header_study_endpoints_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Endpoint Values For Header Study Endpoints Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study endpoints currently selected for study with provided uid",
"description": "State before:\n- Study must exist.\n\nBusiness logic:\n - By default (no study status is provided) list all study endpoints for the study uid in status draft. If the study not exist in status draft then return the study endpoints for the study in status released. If the study uid only exist as deleted then this is returned.\n- If a specific study status parameter is provided then return study endpoints for this study status.\n- If the locked study status parameter is requested then a study version should also be provided, and then the study endpoints for the specific locked study version is returned.\n- Indicate by an boolean variable if the study endpoint can be updated (if the selected study is in status draft).\n- Indicate by an boolean variable if all expected selections have been made for each study endpoint, or some are missing.\n - e.g. endpoint level, minimum one timeframe and one unit is expected.\n - Indicate by an boolean variable if the selected endpoint is available in a newer version.\n - Indicate by an boolean variable if a study endpoint can be re-ordered.\n\nState after:\n- no change.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_endpoints_studies__study_uid__study_endpoints_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "no_brackets",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether brackets around Template Parameters in the Objectiveand Endpoint should be returned",
"default": false,
"title": "No Brackets"
},
"description": "Indicates whether brackets around Template Parameters in the Objectiveand Endpoint should be returned"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_StudySelectionEndpoint_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Creates a study endpoint selection based on the input data, including optionally creating library endpoint",
"operationId": "post_new_endpoint_selection_create_studies__study_uid__study_endpoints_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "create_endpoint",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether the specified endpoint should be created in the library.\n- If this parameter is set to `true`, a `StudySelectionEndpointCreateInput` payload needs to be sent.\n- Otherwise, `StudySelectionEndpointInput` payload should be sent, referencing an existing library endpoint by uid.",
"default": false,
"title": "Create Endpoint"
},
"description": "Indicates whether the specified endpoint should be created in the library.\n- If this parameter is set to `true`, a `StudySelectionEndpointCreateInput` payload needs to be sent.\n- Otherwise, `StudySelectionEndpointInput` payload should be sent, referencing an existing library endpoint by uid."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySelectionEndpointCreateInput"
},
{
"$ref": "#/components/schemas/StudySelectionEndpointInput"
}
],
"description": "Parameters of the selection that shall be created.",
"title": "Selection"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the endpoint",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or endpoint is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_study_endpoint_values_for_header_studies__study_uid__study_endpoints_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Study Endpoint Values For Header Studies Study Uid Study Endpoints Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study endpoints.",
"description": "Parameters:\n - uid as study-uid (required)\n - [NOT YET IMPLEMENTED] study status (optional)\n - [NOT YET IMPLEMENTED] study version (required when study status is locked)\n\nState before:\n - Study must exist.\n\nBusiness logic:\n - List all entries in the audit trail related to study endpoints for specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.\n\nReturned data:\n - List of actions and changes related to study endpoints.",
"operationId": "get_all_endpoints_audit_trail_studies__study_uid__study_endpoints_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
},
"title": "Response Get All Endpoints Audit Trail Studies Study Uid Study Endpoints Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/{study_endpoint_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study endpoint",
"description": "State before:\n - Study and study endpoint must exist\n\nBusiness logic:\n - By default (no study status is provided) list all details for specified study endpoint for the study uid in status draft. If the study not exist in status draft then return the study endpoints for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study endpoints for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the specified study endpoint for the specific locked study version is returned.\n - Indicate by an boolean variable if the study endpoint can be updated (if the selected study is in status draft).\n - Indicate by an boolean variable if all expected selections have been made for each study endpoint, or some are missing.\n - e.g. endpoint level, minimum one timeframe and one unit is expected.\n - Indicate by an boolean variable if the selected endpoint is available in a newer version.\n - Indicate by an boolean variable if a study endpoint can be re-ordered.\n\nState after:\n - no change",
"operationId": "get_selected_endpoint_studies__study_uid__study_endpoints__study_endpoint_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study endpoint.",
"title": "Study Endpoint Uid"
},
"description": "The unique id of the study endpoint."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - When there exist no study endpoint with the study endpoint uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Deletes a objective selection",
"description": "State before:\n - Study must exist and study status must be in draft.\n - study-endpoint-uid must exist.\n\nBusiness logic:\n - Remove specified study-endpoint from the study.\n - Reference to the study-endpoint should still exist in the audit trail.\n - If a subsequent study endpoint exist in the list of study endpoints then the order number for following study endpoint must be decreased with 1.\n\nState after:\n- Study endpoint is deleted from the study, but still exist as a node in the database with a reference from the audit trail.\n- Added new entry in the audit trail for the deletion of the study-endpoint.",
"operationId": "delete_selected_endpoint_studies__study_uid__study_endpoints__study_endpoint_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study endpoint.",
"title": "Study Endpoint Uid"
},
"description": "The unique id of the study endpoint."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - When there exist no study endpoint with the study endpoint uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "update the study endpoint",
"description": "State before:\n - Study must exist and study status must be in draft.\n - Selected endpoint-uid, endpoint-template-uid, endpoint-level, timeframe-uid and unit-definition-uid must exist.\n\nBusiness logic:\n - Same logic applies as for selecting or creating an study endpoint (see two POST statements for /study-endpoints)\n\nState after:\n- Endpoint is added as study endpoint to the study.\n - This PATCH method can cover cover two parts:\n - Change the endpoint level for the currently selected study endpoint\n - Replace the currently selected study endpoint based on the same functionality as POST `/studies/{study_uid}/study-endpoints`\n - Added new entry in the audit trail for the update of the study-endpoint.",
"operationId": "patch_update_endpoint_selection_studies__study_uid__study_endpoints__study_endpoint_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study endpoint.",
"title": "Study Endpoint Uid"
},
"description": "The unique id of the study endpoint."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpointInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - When there exist no study endpoint with the study endpoint uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/{study_endpoint_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study coendpointsmpound.",
"description": "Parameters:\n - uid as study-uid (required)\n - study-compound-uid (required)\n - [NOT YET IMPLEMENTED] study status (optional)\n - [NOT YET IMPLEMENTED] study version (required when study status is locked)\n\nState before:\n - Study and study compounds must exist.\n\nBusiness logic:\n - List a specific entry in the audit trail related to the specified study endpoints for the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.\n\nReturned data:\n - List of actions and changes related to the specified study endpoints.",
"operationId": "get_selected_endpoint_audit_trail_studies__study_uid__study_endpoints__study_endpoint_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study endpoint.",
"title": "Study Endpoint Uid"
},
"description": "The unique id of the study endpoint."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
},
"title": "Response Get Selected Endpoint Audit Trail Studies Study Uid Study Endpoints Study Endpoint Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the objective for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/batch-select": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Select multiple endpoint templates as a batch. If the template has no parameters, will also create the instance.",
"description": "State before:\n - Study must exist and study status must be in draft.\n\n Business logic:\n - Select endpoint template without instantiating them.\n - This must be done as a batch\n\n State after:\n - Study endpoints are created.\n - Endpoint templates are all selected by the study endpoint.\n - If a given template has no parameters, the instance will be created and selected.\n - Added new entry in the audit trail for the creation of the study-endpoint.\n\n Possible errors:\n - Invalid study-uid.\n - Invalid study-endpoint-template-uid.\n\n Returned data:\n List selected endpoint templates/instances with the following information:\n - study_uid\n - study_endpoint_template_uid / study_endpoint_uid\n - order (Derived Integer)\n - latest version of the selected endpoint template/instance",
"operationId": "post_batch_select_endpoint_template_studies__study_uid__study_endpoints_batch_select_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionEndpointTemplateSelectInput"
},
"description": "List of objects with properties needed to identify the templates to select",
"title": "Selection"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
},
"title": "Response Post Batch Select Endpoint Template Studies Study Uid Study Endpoints Batch Select Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the endpoint",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or endpoint is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/preview": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Preview creating a study endpoint selection based on the input data",
"operationId": "post_new_endpoint_selection_preview_studies__study_uid__study_endpoints_preview_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpointCreateInput",
"description": "Related parameters of the selection that shall be previewed."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the endpoint",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or endpoint is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/{study_endpoint_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change a order of a selection",
"description": "State before:\n - Study must exist and study status must be in draft.\n - study_endpoint_uid must exist.\n\nBusiness logic:\n - moves the study selection to the order which is send in the new_order property\n\nState after:\n - Order number for specified study-endpoint is updated to new order number.\n - Note this will change order on either the preceding or following study-endpoints as well.\n - Added new entry in the audit trail for the re-ordering of the study-endpoints.",
"operationId": "patch_new_endpoint_selection_order_studies__study_uid__study_endpoints__study_endpoint_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study endpoint.",
"title": "Study Endpoint Uid"
},
"description": "The unique id of the study endpoint."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpointNewOrder",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Order is larger than the number of selections",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - When there exist no study endpoint with the study endpoint uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives.docx": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns Study Objectives and Endpoints table in standard layout DOCX document",
"operationId": "get_all_selected_objectives_and_endpoints_standard_docx_studies__study_uid__study_objectives_docx_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives.html": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns Study Objectives and Endpoints table in standard layout HTML document",
"operationId": "get_all_selected_objectives_and_endpoints_standard_html_studies__study_uid__study_objectives_html_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"text/html": {
"schema": {
"type": "string"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-compounds": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study compounds currently selected",
"operationId": "get_all_selected_compounds_for_all_studies_study_compounds_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionCompound_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-compounds/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_compound_values_for_header_study_compounds_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Compound Values For Header Study Compounds Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compounds": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study compounds currently selected for study with provided uid",
"description": "State before:\n - Study-uid must exist.\n\nBusiness logic:\n - By default (no study status is provided) list all study compounds for the study uid in status draft. If the study not exist in status draft then return the study compounds for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study compounds for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the study compounds for the specific locked study version is returned.\n - Indicate by an boolean variable if the study compound can be updated (if the selected study is in status draft).\n - Indicate by an boolean variable if all expected selections have been made for each study compound, or some are missing.\n - e.g. Compound and TypeOfTreatment are expected.\n - Indicate by an boolean variable if the selected compound is available in a newer version.\n - Indicate by an boolean variable if a study compound can be re-ordered.\n \nState after:\n- no change.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_compounds_studies__study_uid__study_compounds_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GenericFilteringReturn_StudySelectionCompound_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study compound to a study based on selection of a compound concept in library, or a 'Reason for missing'.",
"description": "State before:\n - Study must exist and be in status draft\n - Compound-uid must exist and be in status Final.\n \nBusiness logic:\n - Add a study-compound to the study based on selection of an existing compound concept in the library.\n - If the selected compound-uid is retired then an error message must be provided.\n - A single relationships can be defined for a study compound to each of the following code list terms:\n - Type of treatment\n - Route of administration\n - Dosages form\n - Dispensed in\n - Device\n - Formulation\n - It is also possible to save a free test string describing other information for the study-compound.\n - Order for the study compound must be assigged as the next incremental order number or as 1 if this is the initial study objective for the study.\n - It should be possible to define a 'Reason for missing' value for a specific value of 'Type of treatment'. In this case the following rule apply:\n - Only the parameter for 'Type of treatment' can be defined - the parameter value for compound or any other related parameters must be null.\n - No other study compound must exist for the study with the same value for 'Type of Treatment'.\n - No other 'Reason for missing' value must exist for the study with the same value for 'Type of Treatment' (ReasonForMissing can only be defined once for a TypeOfTreatment).\n - Thereby either the parameter compound-uid or type-of-treatment-uid must be provided, but not both of them 8they are mytually exclusive).\n\nState after:\n - compound is added as study compound to the study.\n - Added new entry in the audit trail for the creation of the study-compound.",
"operationId": "post_new_compound_selection_studies__study_uid__study_compounds_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCompoundCreateInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCompound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the objective",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or objective is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compounds/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_compounds_values_for_header_studies__study_uid__study_compounds_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Compounds Values For Header Studies Study Uid Study Compounds Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compounds/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study compounds.",
"description": "Parameters:\n - uid as study-uid (required)\n - [NOT YET IMPLEMENTED] study status (optional)\n - [NOT YET IMPLEMENTED] study version (required when study status is locked)\n\nState before:\n - Study must exist.\n\nBusiness logic:\n - List all entries in the audit trail related to study compounds for specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.\n\nReturned data:\n - List of actions and changes related to study compounds.",
"operationId": "get_all_compounds_audit_trail_studies__study_uid__study_compounds_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCompound"
},
"title": "Response Get All Compounds Audit Trail Studies Study Uid Study Compounds Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compounds/{study_compound_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study compound.",
"description": "Parameters:\n - uid as study-uid (required)\n - study-compound-uid (required)\n - [NOT YET IMPLEMENTED] study status (optional)\n - [NOT YET IMPLEMENTED] study version (required when study status is locked)\n\nState before:\n - Study and study compounds must exist.\n\nBusiness logic:\n - List a specific entry in the audit trail related to the specified study compound for the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.\n\nReturned data:\n - List of actions and changes related to the specified study compound.",
"operationId": "get_selected_compound_audit_trail_studies__study_uid__study_compounds__study_compound_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study compound.",
"title": "Study Compound Uid"
},
"description": "The unique id of the study compound."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCompound"
},
"title": "Response Get Selected Compound Audit Trail Studies Study Uid Study Compounds Study Compound Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the objective for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compounds/{study_compound_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study compound",
"description": "State before:\n - Study-uid and study-compound-uid must exist\n\nBusiness logic:\n - By default (no study status is provided) list all details for specified study compound for the study uid in status draft. If the study not exist in status draft then return the study compounds for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study compounds for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the specified study compound for the specific locked study version is returned. - Indicate by an boolean variable if the study compound can be updated (if the selected study is in status draft).\n - Indicate by an boolean variable if all expected selections have been made for each study compound, or some are missing.\n - e.g. Compound and TypeOfTreatment are expected.\n - Indicate by an boolean variable if the selected compound is available in a newer version.\n - Indicate by an boolean variable if a study compound can be re-ordered.\n\nState after:\n - no change",
"operationId": "get_selected_compound_studies__study_uid__study_compounds__study_compound_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study compound.",
"title": "Study Compound Uid"
},
"description": "The unique id of the study compound."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCompound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the objective for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study compound.",
"description": "State before:\n- Study and study-compound-uid must exist and study must be in status draft.\n\nBusiness logic:\n - Remove specified study-compound from the study.\n - Reference to the study-compound should still exist in the audit trail.\n - If a subsequent study compound exist in the list of study compounds then the order number for following study compound must be decreased with 1.\n\nState after:\n- Study compound is deleted from the study, but still exist as a node in the database with a reference from the audit trail.\n- Added new entry in the audit trail for the deletion of the study-compound.",
"operationId": "delete_selected_compound_studies__study_uid__study_compounds__study_compound_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study compound.",
"title": "Study Compound Uid"
},
"description": "The unique id of the study compound."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the objective and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit or replace a study compound",
"description": "State before:\n - Study must exist and be in status draft\n - Compound-uid must exist and be in status Final.\n\nBusiness logic:\n - Update specified study-compound with selection of an existing compound concept in the library.\n - If the selected compound-uid is retired then an error message must be provided.\n - A single relationships can be defined for a study compound to each of the following code list terms:\n - Type of treatment\n - Route of administration\n - Dosages form\n - Dispensed in\n - Device\n - Formulation\n - It is also possible to save a free text string describing other information for the study-compound.\n - Order number for the study compound cannot be changed by this API endpoint.\n - It should be possible to define a 'Reason for missing' value for a specific value of 'Type of treatment'. In this case the following rule apply:\n - Only the parameter for 'Type of treatment' can be defined - the parameter value for compound or any other related parameters must be null.\n - No other study compound must exist for the study with the same value for 'Type of Treatment'.\n - No other 'Reason for missing' value must exist for the study with the same value for 'Type of Treatment' (ReasonForMissing can only be defined once for a TypeOfTreatment).\n - Thereby either the parameter compound-uid or type-of-treatment-uid must be provided, but not both of them 8they are mutually exclusive).\n\nState after:\n - compound or related parameters is updated for the study compound.\n - Added new entry in the audit trail for the update of the study-compound.",
"operationId": "patch_update_compound_selection_studies__study_uid__study_compounds__study_compound_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study compound.",
"title": "Study Compound Uid"
},
"description": "The unique id of the study compound."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCompoundEditInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCompound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and objective.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compounds/{study_compound_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change display order of study compound",
"description": "State before:\n- Study and study-compound-uid must exist and study must be in status draft.\n- Old order number must match current order number in database for study compound.\n\nBusiness logic:\n - moves the study selection to the order which is send in the new_order property\n \nState after:\n - Order number for specified study-compound is updated to new order number.\n - Note this will change order on either the preceding or following study-compounds as well.\n - Added new entry in the audit trail for the re-ordering of the study-compounds.",
"operationId": "patch_new_compound_selection_order_studies__study_uid__study_compounds__study_compound_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_compound_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study compound.",
"title": "Study Compound Uid"
},
"description": "The unique id of the study compound."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCompoundNewOrder",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCompound"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and objective to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/{study_endpoint_uid}/sync-latest-endpoint-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "update to latest endpoint version study selection",
"description": "State before:\n - Study must exist\n - Study endpoint selection must exist\n - Endpoint version selected for study endpoint selection is not the latest available final version of endpoint.\n\nBusiness logic:\n - Update specified endpoint study-selection with the latest final version of previously selected endpoint.\n\nState after:\n - Study exists\n - Study endpoint selection exists\n - Endpoint version selected for study endpoint selection is the latest available final version.\n - Added new entry in the audit trail for the update of the study-endpoint.",
"operationId": "sync_latest_endpoint_version_studies__study_uid__study_endpoints__study_endpoint_uid__sync_latest_endpoint_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study endpoint.",
"title": "Study Endpoint Uid"
},
"description": "The unique id of the study endpoint."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and endpoint",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/{study_endpoint_uid}/sync-latest-timeframe-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "update to latest timeframe version study selection",
"description": "State before:\n - Study must exist\n - Study endpoint selection must exist\n - Timeframe version selected for study endpoint selection is not the latest available final version of the timeframe.\n\n Business logic:\n - Update specified endpoint study-selection with the latest final version of previously selected timeframe.\n\n State after:\n - Study exists\n - Study endpoint selection exists\n - Timeframe version selected for study endpoint selection is the latest available final version.\n - Added new entry in the audit trail for the update of the study-endpoint.",
"operationId": "sync_latest_timeframe_version_studies__study_uid__study_endpoints__study_endpoint_uid__sync_latest_timeframe_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study endpoint.",
"title": "Study Endpoint Uid"
},
"description": "The unique id of the study endpoint."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and timeframe",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-endpoints/{study_endpoint_uid}/accept-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "update to latest timeframe version study selection",
"description": "State before:\n - Study must exist\n - Study endpoint selection must exist\n - Timeframe and/or endpoint version selected for study endpoint selection is not the latest available final version of the timeframe.\n\n Business logic:\n - Update specified endpoint study-selection, setting accepted version to show that update was refused by user.\n\n State after:\n - Study exists\n - Study endpoint selection exists\n - Timeframe and endpoint version selected for study endpoint selection is not changed.\n - Added new entry in the audit trail for the update of the study-endpoint.",
"operationId": "patch_endpoint_accept_version_studies__study_uid__study_endpoints__study_endpoint_uid__accept_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_endpoint_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study endpoint.",
"title": "Study Endpoint Uid"
},
"description": "The unique id of the study endpoint."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionEndpoint"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and timeframe",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-objectives/{study_objective_uid}/accept-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "update to latest timeframe version study selection",
"description": "State before:\n - Study must exist\n - Study endpoint selection must exist\n - Objective version selected for study endpoint selection is not the latest available final version of the timeframe.\n\n Business logic:\n - Update specified endpoint study-selection, setting accepted version to show that update was refused by user.\n\n State after:\n - Study exists\n - Study endpoint selection exists\n - Objective version selected for study endpoint selection is not changed.\n - Added new entry in the audit trail for the update of the study-endpoint.",
"operationId": "patch_objective_accept_version_studies__study_uid__study_objectives__study_objective_uid__accept_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_objective_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study objective.",
"title": "Study Objective Uid"
},
"description": "The unique id of the study objective."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionObjective"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and timeframe",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-criteria": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study criteria currently selected",
"operationId": "get_all_selected_criteria_for_all_studies_study_criteria_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "no_brackets",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether brackets around Template Parameters in the Criteriashould be returned",
"default": false,
"title": "No Brackets"
},
"description": "Indicates whether brackets around Template Parameters in the Criteriashould be returned"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionCriteria_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-criteria/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_criteria_values_for_header_study_criteria_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Criteria Values For Header Study Criteria Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study criteria currently selected for study with provided uid",
"description": "State before:\n- Study must exist.\n\nBusiness logic:\n- By default (no study status is provided) list all study criteria for the study uid in status draft. If the study not exist in status draft then return the study criteria for the study in status released. If the study uid only exist as deleted then this is returned.\n- If a specific study status parameter is provided then return study criteria for this study status.\n- If the locked study status parameter is requested then a study version should also be provided, and then the study criteria for the specific locked study version is returned.\n- Indicate by a boolean variable if the study criteria can be updated (if the selected study is in status draft). \n- Indicate by a boolean variable if all expected selections have been made for each study criteria, or some are missing.\n- e.g. a criteria instance is expected.\n- Indicate by an boolean variable if a study criteria can be re-ordered.\n\nState after:\n- no change.\n\nPossible errors:\n- Invalid study-uid.\n\nReturned data:\nList selected study with the following information:\n- study_uid\n- study_criteria_uid\n- order (Derived Integer, valid in the scope of a criteria_type)\n- criteria_uid (Selected CriteriaRoot uid)\n- criteria_name (String, CriteriaValue name)\n- criteria_type (String, derived from the selected criteria instance's template, which has a connection to a type node)\n- note (String)\n- Modified (as a date of last modification).\n- Possible Actions (based on study state, version of selected nodes, metadata consistency checks, etc. - see business rules).\n - Boolean indication if edit is possible.\n - Boolean indication if all expected selections have been made.\n - Boolean indication if the study criteria can be re-ordered.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_criteria_studies__study_uid__study_criteria_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "no_brackets",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether brackets around Template Parameters in the Criteriashould be returned",
"default": false,
"title": "No Brackets"
},
"description": "Indicates whether brackets around Template Parameters in the Criteriashould be returned"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionCriteria_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Creating a study criteria selection based on the input data including creating new criteria",
"description": "State before:\n - Study must exist and study status must be in draft.\n\n Business logic:\n - Create a study criteria and to a study based on valid selections and values.\n \n State after:\n - criteria instance is created\n - criteria is added as study criteria to the study.\n - Added new entry in the audit trail for the creation of the study-criteria.\n \n Possible errors:\n - Invalid study-uid.\n\n Returned data:\n List selected study with the following information:\n - study_uid\n - study_criteria_uid\n - order (Derived Integer)\n - criteria_uid (Selected CriteriaRoot uid)\n - criteria_name (String, CriteriaValue name)\n - criteria_type (String, derived from the selected criteria instance's template, which has a connection to a type node)\n - note (String)\n - Modified (as a date of last modification).\n - Possible Actions (based on study state, version of selected nodes, metadata consistency checks, etc. - see business rules).\n - Boolean indication if edit is possible. (study is in Draft status)\n - Boolean indication if all expected selections have been made. (expected !== required)",
"operationId": "post_new_criteria_selection_create_studies__study_uid__study_criteria_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "create_criteria",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether the specified criteria should be created in the library.\n- If this parameter is set to `true`, a `StudySelectionCriteriaCreateInput` payload needs to be sent.\n- Otherwise, `StudySelectionCriteriaInput` payload should be sent, referencing an existing library criteria by uid.",
"default": false,
"title": "Create Criteria"
},
"description": "Indicates whether the specified criteria should be created in the library.\n- If this parameter is set to `true`, a `StudySelectionCriteriaCreateInput` payload needs to be sent.\n- Otherwise, `StudySelectionCriteriaInput` payload should be sent, referencing an existing library criteria by uid."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySelectionCriteriaCreateInput"
},
{
"$ref": "#/components/schemas/StudySelectionCriteriaInput"
}
],
"description": "Parameters of the selection that shall be created.",
"title": "Selection"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the criteria",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or criteria is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_study_criteria_values_for_header_studies__study_uid__study_criteria_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Study Criteria Values For Header Studies Study Uid Study Criteria Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study criteria.",
"description": "State before:\n - Study must exist.\n\n Business logic:\n - List all entries in the audit trail related to study criteria for specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\n State after:\n - no change.\n \n Possible errors:\n - Invalid study-uid.\n\n Returned data:\n List selected study with the following information:\n - study_uid\n - study_criteria_uid\n - order (Derived Integer)\n - criteria_uid (Selected CriteriaRoot uid)\n - criteria_name (String, CriteriaValue name)\n - criteria_type (String, derived from the selected criteria instance's template, which has a connection to a type node)\n - note (String)\n - Modified (as a date of last modification).\n - Possible Actions (based on study state, version of selected nodes, metadata consistency checks, etc. - see business rules).\n - Boolean indication if edit is possible.\n - Boolean indication if all expected selections have been made.\n - Boolean indication if the study criteria can be re-ordered.",
"operationId": "get_all_criteria_audit_trail_studies__study_uid__study_criteria_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "criteria_type_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the uid of the criteria_type for which to return study criteria audit trial.",
"title": "Criteria Type Uid"
},
"description": "Optionally, the uid of the criteria_type for which to return study criteria audit trial."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCriteriaCore"
},
"title": "Response Get All Criteria Audit Trail Studies Study Uid Study Criteria Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/{study_criteria_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study criteria",
"description": "State before:\n - Study and study criteria must exist\n \n Business logic:\n - By default (no study status is provided) list all details for specified study criteria for the study uid in status draft. If the study not exist in status draft then return the study criteria for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study criteria for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the specified study criteria for the specific locked study version is returned.\n - Indicate by an boolean variable if the study criteria can be updated (if the selected study is in status draft).\n - Indicate by an boolean variable if all expected selections have been made for each study criteria, or some are missing.\n - Indicate by an boolean variable if the selected criteria is available in a newer version.\n - Indicate by an boolean variable if a study criteria can be re-ordered.\n \n State after:\n - no change\n \n Possible errors:\n - Invalid study-uid or study_criteria_uid.\n \n Returned data:\n List selected study with the following information:\n - study_uid\n - study_criteria_uid\n - order (Derived Integer)\n - criteria_uid (Selected CriteriaRoot uid)\n - criteria_name (String, CriteriaValue name)\n - criteria_type (String, derived from the selected criteria instance's template, which has a connection to a type node)\n - note (String)\n - Modified (as a date of last modification).\n - Possible Actions (based on study state, version of selected nodes, metadata consistency checks, etc. - see business rules).\n - Boolean indication if edit is possible.\n - Boolean indication if all expected selections have been made.\n - Boolean indication if the study criteria can be re-ordered.",
"operationId": "get_selected_criteria_studies__study_uid__study_criteria__study_criteria_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study criteria.",
"title": "Study Criteria Uid"
},
"description": "The unique id of the study criteria."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exists no selection of the criteria for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Update the study criteria template selection",
"description": "State before:\n - Study and study selection must exist and the selected object must be a template and not an instance.\n\n Business logic:\n - Create an instance of the selected template\n - Re-attach the study criteria object to the instance instead of the template\n \n State after:\n - Instance of the template is created\n - Study criteria is detached from the template\n - Study criteria is attached to the instance\n \n Possible errors:\n - Invalid study-uid.\n - Invalid study-criteria-uid.\n\n Returned data:\n Selected criteria instance with the following information:\n - study_uid\n - study_criteria_uid\n - order\n - latest version of the selected criteria",
"operationId": "patch_update_criteria_selection_studies__study_uid__study_criteria__study_criteria_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study criteria.",
"title": "Study Criteria Uid"
},
"description": "The unique id of the study criteria."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CriteriaUpdateWithCriteriaKeyInput",
"description": "Data necessary to create the criteria instance from the template"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or study criteria is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Deletes a study criteria",
"description": "State before:\n - Study must exist and study status must be in draft.\n - study_criteria_uid must exist. \n\n Business logic:\n - Remove specified study-criteria from the study.\n - Reference to the study-criteria should still exist in the audit trail.\n\n State after:\n - Study criteria deleted from the study, but still exist as a node in the database with a reference from the audit trail.\n - Added new entry in the audit trail for the deletion of the study-criteria .\n \n Possible errors:\n - Invalid study-uid or study_criteria_uid.\n\n Returned data:\n - none",
"operationId": "delete_selected_criteria_studies__study_uid__study_criteria__study_criteria_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study criteria.",
"title": "Study Criteria Uid"
},
"description": "The unique id of the study criteria."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the criteria and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/{study_criteria_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study criteria.",
"description": "State before:\n - Study and study criteria must exist.\n\n Business logic:\n - List a specific entry in the audit trail related to the specified study criteria for the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\n State after:\n - no change.\n \n Possible errors:\n - Invalid study-uid.\n\n Returned data:\n List selected study with the following information:\n - study_uid\n - study_criteria_uid\n - order (Derived Integer)\n - criteria_uid (Selected CriteriaRoot uid)\n - criteria_name (String, CriteriaValue name)\n - criteria_type (String, derived from the selected criteria instance's template, which has a connection to a type node)\n - note (String)\n - Modified (as a date of last modification).\n - Possible Actions (based on study state, version of selected nodes, metadata consistency checks, etc. - see business rules).\n - Boolean indication if edit is possible.\n - Boolean indication if all expected selections have been made.\n - Boolean indication if the study criteria can be re-ordered.",
"operationId": "get_selected_criteria_audit_trail_studies__study_uid__study_criteria__study_criteria_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study criteria.",
"title": "Study Criteria Uid"
},
"description": "The unique id of the study criteria."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCriteriaCore"
},
"title": "Response Get Selected Criteria Audit Trail Studies Study Uid Study Criteria Study Criteria Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the criteria for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/preview": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Previews creating a study criteria selection based on the input data including creating new criteria",
"operationId": "preview_new_criteria_selection_create_studies__study_uid__study_criteria_preview_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteriaCreateInput",
"description": "Related parameters of the selection that shall be previewed."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the criteria",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or criteria is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/batch-select": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Select multiple criteria templates as a batch. If the template has no parameters, will also create the instance.",
"description": "State before:\n - Study must exist and study status must be in draft.\n\n Business logic:\n - Select criteria template without instantiating them.\n - This must be done as a batch\n\n State after:\n - Study criteria is created.\n - Criteria templates are all selected by the study criteria.\n - If a given template has no parameters, the instance will be created and selected.\n - Added new entry in the audit trail for the creation of the study-criteria.\n\n Possible errors:\n - Invalid study-uid.\n - Invalid study-criteria-template-uid.\n\n Returned data:\n List selected criteria templates/instances with the following information:\n - study_uid\n - study_criteria_template_uid / study_criteria_uid\n - order (Derived Integer)\n - latest version of the selected criteria template/instance",
"operationId": "post_batch_select_criteria_template_studies__study_uid__study_criteria_batch_select_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCriteriaTemplateSelectInput"
},
"description": "List of objects with properties needed to identify the templates to select",
"title": "Selection"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCriteria"
},
"title": "Response Post Batch Select Criteria Template Studies Study Uid Study Criteria Batch Select Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the criteria",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or criteria is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/{study_criteria_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study criteria",
"operationId": "patch_new_criteria_selection_order_studies__study_uid__study_criteria__study_criteria_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study criteria.",
"title": "Study Criteria Uid"
},
"description": "The unique id of the study criteria."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteriaNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and criteria to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/{study_criteria_uid}/key-criteria": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the key-criteria property of a study criteria",
"operationId": "patch_criteria_selection_key_criteria_property_studies__study_uid__study_criteria__study_criteria_uid__key_criteria_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study criteria.",
"title": "Study Criteria Uid"
},
"description": "The unique id of the study criteria."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteriaKeyCriteria",
"description": "New value to set for the key-criteria property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and criteria to change.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/{study_criteria_uid}/sync-latest-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "update to latest criteria version study selection",
"operationId": "sync_criteria_latest_version_studies__study_uid__study_criteria__study_criteria_uid__sync_latest_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study criteria.",
"title": "Study Criteria Uid"
},
"description": "The unique id of the study criteria."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and criteria.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-criteria/{study_criteria_uid}/accept-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "accept current version of study criteria",
"description": "Business logic:\n - Update specified criteria study-selection, setting accepted version to show that update was refused by user.",
"operationId": "patch_criteria_accept_version_studies__study_uid__study_criteria__study_criteria_uid__accept_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_criteria_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study criteria.",
"title": "Study Criteria Uid"
},
"description": "The unique id of the study criteria."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCriteria"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and timeframe",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-activity-instances": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activity instances currently selected",
"operationId": "get_all_selected_activity_instances_for_all_studies_study_activity_instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity sub group names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity sub group names to use as a specific filter"
},
{
"name": "activity_group_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity group names to use as a specific filter",
"title": "Activity Group Names[]"
},
"description": "A list of activity group names to use as a specific filter"
},
{
"name": "activity_instance_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity instance names to use as a specific filter",
"title": "Activity Instance Names[]"
},
"description": "A list of activity instance names to use as a specific filter"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionActivityInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activity instances currently selected",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_activity_instances_studies__study_uid__study_activity_instances_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity sub group names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity sub group names to use as a specific filter"
},
{
"name": "activity_group_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity group names to use as a specific filter",
"title": "Activity Group Names[]"
},
"description": "A list of activity group names to use as a specific filter"
},
{
"name": "activity_instance_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity instance names to use as a specific filter",
"title": "Activity Instance Names[]"
},
"description": "A list of activity instance names to use as a specific filter"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "has_activity_instance",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "Filter to only return rows with a linked activity instance",
"title": "Has Activity Instance"
},
"description": "Filter to only return rows with a linked activity instance"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionActivityInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Creating a study activity instance selection based on the input data",
"operationId": "post_new_activity_instance_selection_studies__study_uid__study_activity_instances_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityInstanceCreateInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the activity",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or activity is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances/lite": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activity instances currently selected",
"operationId": "get_all_selected_activity_instances_lite_studies__study_uid__study_activity_instances_lite_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionActivityInstance_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_study_activity_instances_values_for_header_studies__study_uid__study_activity_instances_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Study Activity Instances Values For Header Studies Study Uid Study Activity Instances Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances/{study_activity_instance_uid}": {
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study activity instance",
"operationId": "delete_study_activity_instance_studies__study_uid__study_activity_instances__study_activity_instance_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity instance.",
"title": "Study Activity Instance Uid"
},
"description": "The unique id of the study activity instance."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity instance and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study activity instance",
"description": "State before:\n - Study must exist and be in status draft\nBusiness logic:\n - To edit is_important or baseline visits, the object must have is_reviewed=False before the patch request\nState after:\n - Added new entry in the audit trail for the update of the study-activity-instance.",
"operationId": "patch_update_study_activity_instance_studies__study_uid__study_activity_instances__study_activity_instance_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity instance.",
"title": "Study Activity Instance Uid"
},
"description": "The unique id of the study activity instance."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityInstanceEditInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and activity instance.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study activity instance",
"operationId": "get_selected_activity_instance_studies__study_uid__study_activity_instances__study_activity_instance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity instance.",
"title": "Study Activity Instance Uid"
},
"description": "The unique id of the study activity instance."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exists no selection of the activity instance for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to all StudyActivityInstances in scope of a single Study.",
"description": "The following values should be returned for all study activity instances:\n- date_time\n- author_username\n- action\n- activity\n- activity instances\n- state\n- order",
"operationId": "get_all_study_activity_instance_audit_trail_studies__study_uid__study_activity_instances_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityInstance"
},
"title": "Response Get All Study Activity Instance Audit Trail Studies Study Uid Study Activity Instances Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances/{study_activity_instance_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to a specific StudyActivityInstance.",
"operationId": "get_specific_study_activity_instance_audit_trail_studies__study_uid__study_activity_instances__study_activity_instance_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity instance.",
"title": "Study Activity Instance Uid"
},
"description": "The unique id of the study activity instance."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityInstance"
},
"title": "Response Get Specific Study Activity Instance Audit Trail Studies Study Uid Study Activity Instances Study Activity Instance Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity instance for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances/{study_activity_instance_uid}/sync-latest-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "update to latest activity instance version study selection",
"description": "State before:\n - Study must exist\n - StudyActivityInstance selection must exist\n - Activity instance selected for study activity instance selection \n is not the latest available final version of the activity instance.\n\n Business logic:\n - Update specified activity instance study-selection to latest activity instance\n\n State after:\n - Study exists\n - Study activity instance selection exists\n - Activity instance version selected for study activity instance selection is changed.\n - Added new entry in the audit trail for the update of the study-activity-instance.",
"operationId": "patch_study_activity_instance_sync_to_latest_activity_instance_studies__study_uid__study_activity_instances__study_activity_instance_uid__sync_latest_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity instance.",
"title": "Study Activity Instance Uid"
},
"description": "The unique id of the study activity instance."
}
],
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityInstance"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and study activity-instance",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch create/edit StudyActivityInstances to a given Study",
"operationId": "study_activity_instances_batch_studies__study_uid__study_activity_instances_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityInstanceBatchInput"
},
"description": "Related parameters of the StudyActivityInstance that shall be batch created/edited.",
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityInstanceBatchOutput"
},
"title": "Response Study Activity Instances Batch Studies Study Uid Study Activity Instances Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study, footnote or SoA item is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instances/changes-review/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Review changes to the study activity instances in batch (Accept or Decline)",
"operationId": "study_activity_instance_change_review_batch_studies__study_uid__study_activity_instances_changes_review_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityInstanceReviewBatchInput"
},
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityInstanceBatchOutput"
},
"title": "Response Study Activity Instance Change Review Batch Studies Study Uid Study Activity Instances Changes Review Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-activities": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activities currently selected",
"operationId": "get_all_selected_activities_for_all_studies_study_activities_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity sub group names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity sub group names to use as a specific filter"
},
{
"name": "activity_group_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity group names to use as a specific filter",
"title": "Activity Group Names[]"
},
"description": "A list of activity group names to use as a specific filter"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionActivity_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activities currently selected",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_activities_studies__study_uid__study_activities_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "activity_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity names to use as a specific filter",
"title": "Activity Names[]"
},
"description": "A list of activity names to use as a specific filter"
},
{
"name": "activity_subgroup_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity sub group names to use as a specific filter",
"title": "Activity Subgroup Names[]"
},
"description": "A list of activity sub group names to use as a specific filter"
},
{
"name": "activity_group_names[]",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "A list of activity group names to use as a specific filter",
"title": "Activity Group Names[]"
},
"description": "A list of activity group names to use as a specific filter"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "filter_out_retired_groupings",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Specifies whether Retired ActivityGroups/Subgroups should removed from latest_activity.activity_groupings",
"default": false,
"title": "Filter Out Retired Groupings"
},
"description": "Specifies whether Retired ActivityGroups/Subgroups should removed from latest_activity.activity_groupings"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionActivity_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Creating a study activity selection based on the input data",
"operationId": "post_new_activity_selection_create_studies__study_uid__study_activities_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySelectionActivityInSoACreateInput"
},
{
"$ref": "#/components/schemas/StudySelectionActivityCreateInput"
}
],
"description": "Related parameters of the selection that shall be created.",
"title": "Selection"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the activity",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or activity is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/lite": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activities currently selected",
"operationId": "get_all_selected_activities_lite_studies__study_uid__study_activities_lite_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionActivity_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_activity_values_for_header_studies__study_uid__study_activities_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Activity Values For Header Studies Study Uid Study Activities Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study activities.",
"description": "The following values should be returned for all study activities:\n- date_time\n- author_username\n- action\n- activity\n- order",
"operationId": "get_all_activity_audit_trail_studies__study_uid__study_activities_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityCore"
},
"title": "Response Get All Activity Audit Trail Studies Study Uid Study Activities Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/{study_activity_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study activity",
"operationId": "get_selected_activity_studies__study_uid__study_activities__study_activity_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity.",
"title": "Study Activity Uid"
},
"description": "The unique id of the study activity."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exists no selection of the activity for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study activity",
"description": "State before:\n - Study must exist and be in status draft\nBusiness logic:\nState after:\n - Added new entry in the audit trail for the update of the study-activity.",
"operationId": "patch_update_activity_selection_studies__study_uid__study_activities__study_activity_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity.",
"title": "Study Activity Uid"
},
"description": "The unique id of the study activity."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and activity.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study activity",
"operationId": "delete_selected_activity_studies__study_uid__study_activities__study_activity_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity.",
"title": "Study Activity Uid"
},
"description": "The unique id of the study activity."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/{study_activity_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study activity.",
"operationId": "get_selected_activity_audit_trail_studies__study_uid__study_activities__study_activity_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity.",
"title": "Study Activity Uid"
},
"description": "The unique id of the study activity."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityCore"
},
"title": "Response Get Selected Activity Audit Trail Studies Study Uid Study Activities Study Activity Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/{study_activity_uid}/sync-latest-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Update to latest activity version study selection",
"description": "State before:\n - Study must exist\n - StudyActivity selection must exist\n - Activity selected for study activity selection \n is not the latest available final version of the activity.\n\n Business logic:\n - Update specified activity study-selection to latest activity\n\n State after:\n - Study exists\n - Study activity selection exists\n - Activity version selected for study activity selection is changed.\n - Added new entry in the audit trail for the update of the study-activity.",
"operationId": "patch_study_activity_sync_to_latest_activity_studies__study_uid__study_activities__study_activity_uid__sync_latest_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity.",
"title": "Study Activity Uid"
},
"description": "The unique id of the study activity."
}
],
"requestBody": {
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudyActivitySyncLatestVersionInput"
},
{
"type": "null"
}
],
"description": "Parameters for the StudyActivity to sync to latest version of Library Activity",
"title": "Sync Latest Version Input"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and study activity",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/{study_activity_uid}/activity-replacements": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Exchanging selected activity for given StudyActivity based on the input data. First item replaces the original StudyActivity, remaining items create new StudyActivities.",
"operationId": "replace_selected_activity_for_study_activity_studies__study_uid__study_activities__study_activity_uid__activity_replacements_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity.",
"title": "Study Activity Uid"
},
"description": "The unique id of the study activity."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivityReplaceActivityListInput",
"description": "List of activity replacements. First item replaces the original StudyActivity, rest create new ones."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivity"
},
"title": "Response Replace Selected Activity For Study Activity Studies Study Uid Study Activities Study Activity Uid Activity Replacements Patch"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the activity or duplicate combinations in the replacement list",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or activity is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-subgroups": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activity subgroups currently selected",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_activity_subgroups_studies__study_uid__study_activity_subgroups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyActivitySubGroup_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-subgroups/{study_activity_subgroup_uid}": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study activity subgroup protocol visibility flag",
"description": "State before:\n - Study must exist and be in status draft\nBusiness logic:\nState after:\n - Added new entry in the audit trail for the update of the study-activity-subgroup.",
"operationId": "patch_update_activity_subgroup_selection_studies__study_uid__study_activity_subgroups__study_activity_subgroup_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity subgroup.",
"title": "Study Activity Subgroup Uid"
},
"description": "The unique id of the study activity subgroup."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivitySubGroupEditInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study-activity and study-activity-subgroup.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-subgroups/{study_activity_subgroup_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study activity subgroup",
"operationId": "patch_activity_subgroup_new_order_studies__study_uid__study_activity_subgroups__study_activity_subgroup_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_subgroup_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity subgroup.",
"title": "Study Activity Subgroup Uid"
},
"description": "The unique id of the study activity subgroup."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivitySubGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and activity subgroup to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-groups": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activity groups currently selected",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_activity_groups_studies__study_uid__study_activity_groups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyActivityGroup_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-groups/{study_activity_group_uid}": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study activity group protocol visibility flag",
"description": "State before:\n - Study must exist and be in status draft\nBusiness logic:\nState after:\n - Added new entry in the audit trail for the update of the study-activity-group.",
"operationId": "patch_update_activity_group_selection_studies__study_uid__study_activity_groups__study_activity_group_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity group.",
"title": "Study Activity Group Uid"
},
"description": "The unique id of the study activity group."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivityGroupEditInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study-activity and study-activity-group.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-groups/{study_activity_group_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study activity group",
"operationId": "patch_activity_group_new_order_studies__study_uid__study_activity_groups__study_activity_group_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity group.",
"title": "Study Activity Group Uid"
},
"description": "The unique id of the study activity group."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivityGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and activity group to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-groups": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study soa groups currently selected",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_soa_groups_studies__study_uid__study_soa_groups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySoAGroup_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-groups/{study_soa_group_uid}": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study soa group protocol visibility flag",
"description": "State before:\n - Study must exist and be in status draft\nBusiness logic:\nState after:\n - Added new entry in the audit trail for the update of the study-soa-group.",
"operationId": "patch_update_soa_group_selection_studies__study_uid__study_soa_groups__study_soa_group_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_soa_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity soa group.",
"title": "Study Soa Group Uid"
},
"description": "The unique id of the study activity soa group."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAGroupEditInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study-activity and study-soa-group.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-groups/{study_soa_group_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study soa group",
"operationId": "patch_soa_group_new_order_studies__study_uid__study_soa_groups__study_soa_group_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_soa_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity soa group.",
"title": "Study Soa Group Uid"
},
"description": "The unique id of the study activity soa group."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAGroup"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and soa group to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-requests/{study_activity_request_uid}": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study activity request",
"description": "State before:\n - Study must exist and be in status draft\nBusiness logic:\nState after:\n - Added new entry in the audit trail for the update of the study-activity.",
"operationId": "patch_update_activity_selection_request_studies__study_uid__study_activity_requests__study_activity_request_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_request_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity request.",
"title": "Study Activity Request Uid"
},
"description": "The unique id of the study activity request."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityRequestEditInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and activity.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/{study_activity_uid}/activity-requests-approvals": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Update Study Activity with the Sponsor Activity that replaced Activity Request",
"description": "State before:\n - Study must exist and be in status draft\nBusiness logic:\nState after:\n - Added new entry in the audit trail for the update of the study-activity.",
"operationId": "update_activity_request_with_sponsor_activity_studies__study_uid__study_activities__study_activity_uid__activity_requests_approvals_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity.",
"title": "Study Activity Uid"
},
"description": "The unique id of the study activity."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and activity.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch create and/or edit of study activities",
"operationId": "activity_selection_batch_operations_studies__study_uid__study_activities_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityBatchInput"
},
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityBatchOutput"
},
"title": "Response Activity Selection Batch Operations Studies Study Uid Study Activities Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/changes-review/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Review changes to the study activity in batch (Accept or Decline)",
"operationId": "study_activity_change_review_batch_studies__study_uid__study_activities_changes_review_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityReviewBatchInput"
},
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionActivityBatchOutput"
},
"title": "Response Study Activity Change Review Batch Studies Study Uid Study Activities Changes Review Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/soa-edits/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch create/edit/delete of study activities or study-activity-schedules",
"operationId": "study_activity_and_schedule_batch_operations_studies__study_uid__soa_edits_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoAEditBatchInput"
},
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoAEditBatchOutput"
},
"title": "Response Study Activity And Schedule Batch Operations Studies Study Uid Soa Edits Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activities/{study_activity_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study activity",
"operationId": "patch_new_activity_selection_order_studies__study_uid__study_activities__study_activity_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity.",
"title": "Study Activity Uid"
},
"description": "The unique id of the study activity."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivityNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionActivity"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and activity to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-arms-branches-and-cohorts": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study arms that contain study cohorts which contain study branch arms",
"description": "State before:\n- Study must exist.\n \nBusiness logic:\n- The endpoint returns information about study arms in the highes level.\n- Each study arm object contains list of nested study cohorts.\n- Each study cohort contains information about given study cohort and list of underlying study branch arms.\n\nState after:\n- no change.\n \nPossible errors:\n- Invalid study-uid.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_study_arms_branches_and_cohorts_studies__study_uid__study_arms_branches_and_cohorts_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CompactStudyArm"
},
"title": "Response Get All Study Arms Branches And Cohorts Studies Study Uid Study Arms Branches And Cohorts Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-arms": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study arms currently selected for study with provided uid",
"description": "State before:\n- Study must exist.\n \nBusiness logic:\n - By default (no study status is provided) list all study arms for the study uid in status draft. If the study not exist in status draft then return the study arms for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study arm for this study status.\n- If the locked study status parameter is requested then a study version should also be provided, and then the study arms for the specific locked study version is returned.\n- Indicate by a boolean variable if the study arm can be updated (if the selected study is in status draft). \n- Indicate by a boolean variable if all expected selections have been made for each study arms, or some are missing.\n\nState after:\n- no change.\n \nPossible errors:\n- Invalid study-uid.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_arms_studies__study_uid__study_arms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionArmWithConnectedBranchArms_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Creating a study arm selection based on the input data",
"operationId": "post_new_arm_selection_create_studies__study_uid__study_arms_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionArmCreateInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionArm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the arm",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or arm is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-arms/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_arm_values_for_header_studies__study_uid__study_arms_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Arm Values For Header Studies Study Uid Study Arms Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-arms": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study arms currently selected",
"operationId": "get_all_selected_arms_for_all_studies_study_arms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "project_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the name of the project for which to return study selections.",
"title": "Project Name"
},
"description": "Optionally, the name of the project for which to return study selections."
},
{
"name": "project_number",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optionally, the number of the project for which to return study selections.",
"title": "Project Number"
},
"description": "Optionally, the number of the project for which to return study selections."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionArmWithConnectedBranchArms_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-arms/{study_arm_uid}": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study arm",
"description": "State before:\n - Study must exist and be in status draft\n\nBusiness logic:\n\nState after:\n - Added new entry in the audit trail for the update of the study-arm.",
"operationId": "patch_update_arm_selection_studies__study_uid__study_arms__study_arm_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study arm.",
"title": "Study Arm Uid"
},
"description": "The unique id of the study arm."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionArmInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionArmWithConnectedBranchArms"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and arm.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study arm",
"operationId": "get_selected_arm_studies__study_uid__study_arms__study_arm_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study arm.",
"title": "Study Arm Uid"
},
"description": "The unique id of the study arm."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionArmWithConnectedBranchArms"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exists no selection of the arm for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study arm",
"operationId": "delete_selected_arm_studies__study_uid__study_arms__study_arm_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study arm.",
"title": "Study Arm Uid"
},
"description": "The unique id of the study arm."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the arm and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-arms/{study_arm_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study arm.",
"operationId": "get_selected_arm_audit_trail_studies__study_uid__study_arms__study_arm_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study arm.",
"title": "Study Arm Uid"
},
"description": "The unique id of the study arm."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionArmVersion"
},
"title": "Response Get Selected Arm Audit Trail Studies Study Uid Study Arms Study Arm Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-arms/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of all study arms.",
"operationId": "get_all_arm_audit_trail_studies__study_uid__study_arms_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionArmVersion"
},
"title": "Response Get All Arm Audit Trail Studies Study Uid Study Arms Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-arms/{study_arm_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study arm",
"operationId": "patch_new_arm_selection_order_studies__study_uid__study_arms__study_arm_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study arm.",
"title": "Study Arm Uid"
},
"description": "The unique id of the study arm."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionArmNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionArmWithConnectedBranchArms"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and arm to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-arms/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch create and/or edit of study arms",
"operationId": "study_arms_batch_operations_studies__study_uid__study_arms_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionArmBatchInput"
},
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionArmBatchOutput"
},
"title": "Response Study Arms Batch Operations Studies Study Uid Study Arms Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-elements": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Creating a study element selection based on the input data",
"operationId": "post_new_element_selection_create_studies__study_uid__study_elements_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionElementCreateInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the element",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or element is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study elements currently selected for study with provided uid",
"description": "State before:\n- Study must exist.\n\nState after:\n- no change.\n \nPossible errors:\n- Invalid study-uid.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_elements_studies__study_uid__study_elements_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionElement_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-elements/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_element_values_for_header_studies__study_uid__study_elements_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Element Values For Header Studies Study Uid Study Elements Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-elements/{study_element_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study element",
"operationId": "get_selected_element_studies__study_uid__study_elements__study_element_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study element.",
"title": "Study Element Uid"
},
"description": "The unique id of the study element."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exists no selection of the element for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study element",
"description": "State before:\n - Study must exist and be in status draft\n Business logic:\n State after:\n - Added new entry in the audit trail for the update of the study-element.",
"operationId": "patch_update_element_selection_studies__study_uid__study_elements__study_element_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study element.",
"title": "Study Element Uid"
},
"description": "The unique id of the study element."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionElementInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and element.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study element",
"operationId": "delete_selected_element_studies__study_uid__study_elements__study_element_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study element.",
"title": "Study Element Uid"
},
"description": "The unique id of the study element."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the element and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-elements/{study_element_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study element.",
"operationId": "get_selected_element_audit_trail_studies__study_uid__study_elements__study_element_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study element.",
"title": "Study Element Uid"
},
"description": "The unique id of the study element."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionElementVersion"
},
"title": "Response Get Selected Element Audit Trail Studies Study Uid Study Elements Study Element Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-element/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of all study element.",
"operationId": "get_all_element_audit_trail_studies__study_uid__study_element_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionElementVersion"
},
"title": "Response Get All Element Audit Trail Studies Study Uid Study Element Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-elements/allowed-element-configs": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all allowed config sets for element type and subtype",
"operationId": "get_all_configs_study_elements_allowed_element_configs_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/StudyElementTypes"
},
"type": "array",
"title": "Response Get All Configs Study Elements Allowed Element Configs Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/studies/{study_uid}/study-elements/{study_element_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study element",
"operationId": "patch_new_element_selection_order_studies__study_uid__study_elements__study_element_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_element_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study element.",
"title": "Study Element Uid"
},
"description": "The unique id of the study element."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionElementNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionElement"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and element to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-branch-arms": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Creating a study branch arm selection based on the input data",
"operationId": "post_new_branch_arm_selection_create_studies__study_uid__study_branch_arms_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionBranchArmCreateInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionBranchArm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the branch arm",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or branch arm is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study branch arms currently selected for study with provided uid",
"description": "State before:\n- Study must exist.\n \nBusiness logic:\n - By default (no study status is provided) list all study branch arms for the study uid in status draft. If the study not exist in status draft then return the study branch arms for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study branch arm for this study status.\n- If the locked study status parameter is requested then a study version should also be provided, and then the study branch arms for the specific locked study version is returned.\n- Indicate by a boolean variable if the study branch arm can be updated (if the selected study is in status draft). \n- Indicate by a boolean variable if all expected selections have been made for each study branch arms, or some are missing.\n\nState after:\n- no change.\n \nPossible errors:\n- Invalid study-uid.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_branch_arms_studies__study_uid__study_branch_arms_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": "and",
"title": "Operator"
}
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionBranchArm_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-branch-arms/{study_branch_arm_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study branch arm",
"operationId": "get_selected_branch_arm_studies__study_uid__study_branch_arms__study_branch_arm_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_branch_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study branch arm.",
"title": "Study Branch Arm Uid"
},
"description": "The unique id of the study branch arm."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionBranchArm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exists no selection of the branch arm for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study branch arm",
"description": "State before:\n - Study must exist and be in status draft\n Business logic:\n State after:\n - Added new entry in the audit trail for the update of the study-branch-arm.",
"operationId": "patch_update_branch_arm_selection_studies__study_uid__study_branch_arms__study_branch_arm_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_branch_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study branch arm.",
"title": "Study Branch Arm Uid"
},
"description": "The unique id of the study branch arm."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionBranchArmEditInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionBranchArm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and branch arm.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study branch arm",
"operationId": "delete_selected_branch_arm_studies__study_uid__study_branch_arms__study_branch_arm_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_branch_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study branch arm.",
"title": "Study Branch Arm Uid"
},
"description": "The unique id of the study branch arm."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the branch arm and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-branch-arms/{study_branch_arm_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study branch-arm.",
"operationId": "get_selected_branch_arm_audit_trail_studies__study_uid__study_branch_arms__study_branch_arm_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_branch_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study branch arm.",
"title": "Study Branch Arm Uid"
},
"description": "The unique id of the study branch arm."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionBranchArmVersion"
},
"title": "Response Get Selected Branch Arm Audit Trail Studies Study Uid Study Branch Arms Study Branch Arm Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-branch-arm/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of all study branch-arm.",
"operationId": "get_all_branch_arm_audit_trail_studies__study_uid__study_branch_arm_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionBranchArmVersion"
},
"title": "Response Get All Branch Arm Audit Trail Studies Study Uid Study Branch Arm Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-branch-arms/{study_branch_arm_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study branch arm",
"operationId": "patch_new_branch_arm_selection_order_studies__study_uid__study_branch_arms__study_branch_arm_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_branch_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study branch arm.",
"title": "Study Branch Arm Uid"
},
"description": "The unique id of the study branch arm."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionBranchArmNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionBranchArm"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and branch arm to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-branch-arms/arm/{arm_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study branch arms currently selected for study with provided uid",
"description": "State before:\n - Study must exist.\n \n Business logic:\n - By default (no study status is provided) list all study branch arms for the study uid in status draft. If the study not exist in status draft then return the study branch arms for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study branch arm for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the study branch arms for the specific locked study version is returned.\n - Indicate by a boolean variable if the study branch arm can be updated (if the selected study is in status draft). \n - Indicate by a boolean variable if all expected selections have been made for each study branch arms, or some are missing.\n\n State after:\n - no change.\n \n Possible errors:\n - Invalid study-uid.",
"operationId": "get_all_selected_branch_arms_within_arm_studies__study_uid__study_branch_arms_arm__arm_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Uid"
}
},
{
"name": "arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Arm Uid"
}
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionBranchArm"
},
"title": "Response Get All Selected Branch Arms Within Arm Studies Study Uid Study Branch Arms Arm Arm Uid Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-branch-arms/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch create and/or edit of study branch arms",
"operationId": "study_branch_arms_batch_operations_studies__study_uid__study_branch_arms_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionBranchArmBatchInput"
},
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionBranchArmBatchOutput"
},
"title": "Response Study Branch Arms Batch Operations Studies Study Uid Study Branch Arms Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-cohorts": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Creating a study cohort selection based on the input data",
"operationId": "post_new_cohort_selection_create_studies__study_uid__study_cohorts_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCohortCreateInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCohort"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the cohort",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or cohort is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study cohorts currently selected for study with provided uid",
"description": "State before:\n- Study must exist.\n \nBusiness logic:\n - By default (no study status is provided) list all study cohorts for the study uid in status draft. If the study not exist in status draft then return the study cohorts for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study cohort for this study status.\n- If the locked study status parameter is requested then a study version should also be provided, and then the study cohorts for the specific locked study version is returned.\n- Indicate by a boolean variable if the study cohort can be updated (if the selected study is in status draft). \n- Indicate by a boolean variable if all expected selections have been made for each study cohorts, or some are missing.\n\nState after:\n- no change.\n \nPossible errors:\n- Invalid study-uid.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_cohorts_studies__study_uid__study_cohorts_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "arm_uid",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The unique id of the study arm for which specified study cohorts should be returned",
"title": "Arm Uid"
},
"description": "The unique id of the study arm for which specified study cohorts should be returned"
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "split_if_in_multiple_arms_and_branches",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Specifies whether each StudyCohort object should be splitted into multiple objects if it's assigne to many StudyArms and StudyBranches",
"default": false,
"title": "Split If In Multiple Arms And Branches"
},
"description": "Specifies whether each StudyCohort object should be splitted into multiple objects if it's assigne to many StudyArms and StudyBranches"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySelectionCohort_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-cohorts/{study_cohort_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns specific study cohort",
"operationId": "get_selected_cohort_studies__study_uid__study_cohorts__study_cohort_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_cohort_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study cohort.",
"title": "Study Cohort Uid"
},
"description": "The unique id of the study cohort."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCohort"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exists no selection of the cohort for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study cohort",
"description": "State before:\n - Study must exist and be in status draft\n Business logic:\n State after:\n - Added new entry in the audit trail for the update of the study-cohort.",
"operationId": "patch_update_cohort_selection_studies__study_uid__study_cohorts__study_cohort_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_cohort_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study cohort.",
"title": "Study Cohort Uid"
},
"description": "The unique id of the study cohort."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCohortEditInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCohort"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and cohort.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study cohort",
"operationId": "delete_selected_cohort_studies__study_uid__study_cohorts__study_cohort_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_cohort_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study cohort.",
"title": "Study Cohort Uid"
},
"description": "The unique id of the study cohort."
},
{
"name": "delete_linked_branches",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether the StudyBranchArms linked to given StudyCohort should be cascade deleted",
"default": false,
"title": "Delete Linked Branches"
},
"description": "Indicates whether the StudyBranchArms linked to given StudyCohort should be cascade deleted"
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the cohort and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-cohorts/{study_cohort_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study study-cohorts.",
"operationId": "get_selected_cohort_audit_trail_studies__study_uid__study_cohorts__study_cohort_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_cohort_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study cohort.",
"title": "Study Cohort Uid"
},
"description": "The unique id of the study cohort."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCohortVersion"
},
"title": "Response Get Selected Cohort Audit Trail Studies Study Uid Study Cohorts Study Cohort Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-cohort/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of all study study-cohort.",
"operationId": "get_all_cohort_audit_trail_studies__study_uid__study_cohort_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCohortVersion"
},
"title": "Response Get All Cohort Audit Trail Studies Study Uid Study Cohort Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-cohorts/{study_cohort_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change the order of a study cohort",
"operationId": "patch_new_cohort_selection_order_studies__study_uid__study_cohorts__study_cohort_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_cohort_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study cohort.",
"title": "Study Cohort Uid"
},
"description": "The unique id of the study cohort."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCohortNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionCohort"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exists no selection between the study and cohort to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-cohorts/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch create and/or edit of study cohorts",
"operationId": "study_cohorts_batch_operations_studies__study_uid__study_cohorts_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCohortBatchInput"
},
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySelectionCohortBatchOutput"
},
"title": "Response Study Cohorts Batch Operations Studies Study Uid Study Cohorts Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/data-completeness-tags": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all data completeness tags assigned to the given study.",
"operationId": "get_study_data_completeness_tags_studies__study_uid__data_completeness_tags_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/DataCompletenessTag"
},
"title": "Response Get Study Data Completeness Tags Studies Study Uid Data Completeness Tags Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Assigns a data completeness tag to the given study.",
"operationId": "assign_data_completeness_tag_to_study_studies__study_uid__data_completeness_tags_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Body_assign_data_completeness_tag_to_study_studies__study_uid__data_completeness_tags_post"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DataCompletenessTag"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/data-completeness-tags/{uid}": {
"delete": {
"tags": [
"Study Selections"
],
"summary": "Removes a data completeness tag from the given study.",
"operationId": "remove_data_completeness_tag_from_study_studies__study_uid__data_completeness_tags__uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "UID of the data completeness tag"
}
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/ctr/odm.xml": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns study disclosure document in CTR ODM XML format",
"operationId": "get_odm_xml_studies__study_uid__ctr_odm_xml_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {}
},
"text/xml": {
"schema": {
"type": "string"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-activity-instructions": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study activity instructions currently selected",
"operationId": "get_all_activity_instructions_for_all_studies_study_activity_instructions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyActivityInstruction_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instructions": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study activity instructions currently defined for the study",
"operationId": "get_all_selected_instructions_studies__study_uid__study_activity_instructions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyActivityInstruction"
},
"title": "Response Get All Selected Instructions Studies Study Uid Study Activity Instructions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instructions/{study_activity_instruction_uid}": {
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study activity instruction",
"operationId": "delete_activity_instruction_studies__study_uid__study_activity_instructions__study_activity_instruction_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_instruction_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity instruction.",
"title": "Study Activity Instruction Uid"
},
"description": "The unique id of the study activity instruction."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity instruction and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-instructions/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch operations (create, delete) for study activity instructions",
"operationId": "activity_instruction_batch_operations_studies__study_uid__study_activity_instructions_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyActivityInstructionBatchInput"
},
"description": "List of operation to perform",
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyActivityInstructionBatchOutput"
},
"title": "Response Activity Instruction Batch Operations Studies Study Uid Study Activity Instructions Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-schedules": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study activity schedules currently defined for the study",
"operationId": "get_all_selected_activities_studies__study_uid__study_activity_schedules_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "operational",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
],
"description": "List scheduled study activity instances instead of study activities",
"default": false,
"title": "Operational"
},
"description": "List scheduled study activity instances instead of study activities"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyActivitySchedule"
},
"title": "Response Get All Selected Activities Studies Study Uid Study Activity Schedules Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study activity schedule to a study",
"operationId": "post_new_activity_schedule_create_studies__study_uid__study_activity_schedules_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivityScheduleCreateInput",
"description": "Related parameters of the schedule that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyActivitySchedule"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - A study activity schedule already exists for selected study activity and visit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study, study activity or study visit is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-schedules/{study_activity_schedule_uid}": {
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study activity schedule",
"operationId": "delete_activity_schedule_studies__study_uid__study_activity_schedules__study_activity_schedule_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_schedule_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity schedule.",
"title": "Study Activity Schedule Uid"
},
"description": "The unique id of the study activity schedule."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the activity schedule and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-schedules/audit-trail/": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study activity schedules.",
"description": "The following values should be returned for all study activities:\n- date_time\n- author_username\n- action\n- activity\n- order",
"operationId": "get_all_schedules_audit_trail_studies__study_uid__study_activity_schedules_audit_trail__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyActivityScheduleHistory"
},
"title": "Response Get All Schedules Audit Trail Studies Study Uid Study Activity Schedules Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-activity-schedules/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch operations (create, delete) for study activity schedules",
"operationId": "activity_schedule_batch_operations_studies__study_uid__study_activity_schedules_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyActivityScheduleBatchInput"
},
"description": "List of operation to perform",
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyActivityScheduleBatchOutput"
},
"title": "Response Activity Schedule Batch Operations Studies Study Uid Study Activity Schedules Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compound-dosings": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study compound dosings currently defined for the study",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_selected_compound_dosings_studies__study_uid__study_compound_dosings_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyCompoundDosing_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study compound dosing to a study",
"operationId": "create_study_compound_dosing_studies__study_uid__study_compound_dosings_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyCompoundDosingInput",
"description": "Related parameters of the compound dosing that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyCompoundDosing"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - A study compound dosing already exists for selected study compound and element",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study, study compound or study element is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compound-dosings/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_studies__study_uid__study_compound_dosings_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Studies Study Uid Study Compound Dosings Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-compound-dosings/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_compound_dosings_values_for_header_study_compound_dosings_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Compound Dosings Values For Header Study Compound Dosings Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compound-dosings/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study compound dosings.",
"description": "Parameters:\n - uid as study-uid (required)\n - [NOT YET IMPLEMENTED] study status (optional)\n - [NOT YET IMPLEMENTED] study version (required when study status is locked)\n\nState before:\n - Study must exist.\n\nBusiness logic:\n - List all entries in the audit trail related to study compound dosings for specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n\nPossible errors:\n - Invalid study-uid.\n\nReturned data:\n - List of actions and changes related to study compounds.",
"operationId": "get_all_compound_dosings_audit_trail_studies__study_uid__study_compound_dosings_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyCompoundDosing"
},
"title": "Response Get All Compound Dosings Audit Trail Studies Study Uid Study Compound Dosings Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compound-dosings/{study_compound_dosing_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study compound dosing.",
"description": "Parameters:\n - uid as study-uid (required)\n - study-compound-dosing-uid (required)\n - [NOT YET IMPLEMENTED] study status (optional)\n - [NOT YET IMPLEMENTED] study version (required when study status is locked)\n\nState before:\n - Study and study compound dosing must exist.\n\nBusiness logic:\n - List a specific entry in the audit trail related to the specified study compound dosing for the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n\nPossible errors:\n - Invalid study-uid.\n\nReturned data:\n - List of actions and changes related to the specified study compound dosing.",
"operationId": "get_compound_dosing_audit_trail_studies__study_uid__study_compound_dosings__study_compound_dosing_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_compound_dosing_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study compound dosing.",
"title": "Study Compound Dosing Uid"
},
"description": "The unique id of the study compound dosing."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyCompoundDosing"
},
"title": "Response Get Compound Dosing Audit Trail Studies Study Uid Study Compound Dosings Study Compound Dosing Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the compound dosing for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-compound-dosings/{study_compound_dosing_uid}": {
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study compound dosing",
"operationId": "delete_compound_dosing_studies__study_uid__study_compound_dosings__study_compound_dosing_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_compound_dosing_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study compound dosing.",
"title": "Study Compound Dosing Uid"
},
"description": "The unique id of the study compound dosing."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the compound dosing and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit or replace a study compound dosing",
"description": "State before:\n - Study must exist and be in status draft\n\nBusiness logic:\n - Update specified study-compound-dosing with selection of existing study compound and study element items.\n - A single relationships can be defined for a study compound dosing to each of the following code list terms:\n - Dose frequency\n - Order number for the study compound cannot be changed by this API endpoint.\n\nState after:\n - related parameters are updated for the study compound dosing.\n - Added new entry in the audit trail for the update of the study-compound-dosing.",
"operationId": "update_compound_dosing_studies__study_uid__study_compound_dosings__study_compound_dosing_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_compound_dosing_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study compound dosing.",
"title": "Study Compound Dosing Uid"
},
"description": "The unique id of the study compound dosing."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyCompoundDosingInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyCompoundDosing"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-cells": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study design cells currently defined for the study",
"operationId": "get_all_design_cells_studies__study_uid__study_design_cells_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDesignCell"
},
"title": "Response Get All Design Cells Studies Study Uid Study Design Cells Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study design cell to a study",
"operationId": "post_new_design_cell_create_studies__study_uid__study_design_cells_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignCellCreateInput",
"description": "Related parameters of the design cell that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignCell"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - A study design cell already exists for selected study arm and epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study, study arm or study epoch is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-cells/{study_design_cell_uid}": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Update a study design cell",
"description": "The StudyDesignCell has the following properties:\n -StudyArm \n -StudyBranchArm \n -StudyEpoch \n -StudyElement\n -Transition_rule\n Patching properties has different dependencies, to patch:\n -StudyArm\n -StudyArm has to exists\n -if the StudyDesignCell already has a StudyBranchArm then the StudyBranchArm has to be set as null on the payload.\n -StudyBranchArm\n -StudyBranchArm has to exists\n -if the StudyDesignCell already has a StudyArm then it will be disconnected from PREVIOUS StudyArm and switched to the NEW StudyBranchArm\n -StudyElement\n -StudyElement has to exists\n -StudyEpoch\n -StudyEpoch has to exists\n -Transition_rule\n -no dependencies, is just a string field",
"operationId": "edit_design_cell_studies__study_uid__study_design_cells__study_design_cell_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_design_cell_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study design cell.",
"title": "Study Design Cell Uid"
},
"description": "The unique id of the study design cell."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignCellEditInput",
"description": "Related parameters of the selection that shall be updated."
}
}
}
},
"responses": {
"200": {
"description": "No content - The study design cell was successfully updated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignCell"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The study design cell with the specified 'study_design_cell_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study design cell",
"operationId": "delete_design_cell_studies__study_uid__study_design_cells__study_design_cell_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_design_cell_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study design cell.",
"title": "Study Design Cell Uid"
},
"description": "The unique id of the study design cell."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the design cell and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-cells/audit-trail/": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study design cells.",
"description": "The following values should be returned for all study design cells:\n- date_time\n- author_username\n- action\n- activity\n- order",
"operationId": "get_all_design_cells_audit_trail_studies__study_uid__study_design_cells_audit_trail__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDesignCellVersion"
},
"title": "Response Get All Design Cells Audit Trail Studies Study Uid Study Design Cells Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-cells/{study_design_cell_uid}/audit-trail/": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study design cell.",
"operationId": "get_specific_schedule_audit_trail_studies__study_uid__study_design_cells__study_design_cell_uid__audit_trail__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_design_cell_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study design cell.",
"title": "Study Design Cell Uid"
},
"description": "The unique id of the study design cell."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDesignCellVersion"
},
"title": "Response Get Specific Schedule Audit Trail Studies Study Uid Study Design Cells Study Design Cell Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the design cell for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-cells/batch": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch operations (create, delete) for study design cells",
"operationId": "design_cell_batch_operations_studies__study_uid__study_design_cells_batch_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDesignCellBatchInput"
},
"description": "List of operations to perform",
"title": "Operations"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDesignCellBatchOutput"
},
"title": "Response Design Cell Batch Operations Studies Study Uid Study Design Cells Batch Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-cells/arm/{arm_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study design-cells currently selected for study with provided uid that are connected to an StudyArm with arm_uid",
"description": "State before:\n - Study must exist.\n \n Business logic:\n - By default (no study status is provided) list all study design-cells for the study uid in status draft. If the study not exist in status draft then return the study design-cells for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study design-cell for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the study design-cells for the specific locked study version is returned.\n - Indicate by a boolean variable if the study design-cell can be updated (if the selected study is in status draft). \n - Indicate by a boolean variable if all expected selections have been made for each study design-cells, or some are missing.\n\n\n State after:\n - no change.\n \n Possible errors:\n - Invalid study-uid.",
"operationId": "get_all_selected_design_cells_connected_arm_studies__study_uid__study_design_cells_arm__arm_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Uid"
}
},
{
"name": "arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Arm Uid"
}
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDesignCell"
},
"title": "Response Get All Selected Design Cells Connected Arm Studies Study Uid Study Design Cells Arm Arm Uid Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-cells/branch-arm/{branch_arm_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study design-cells currently selected for study with provided\n uid that are connected to an StudyBranchArm with branch_arm_uid",
"description": "State before:\n - Study must exist.\n \n Business logic:\n - By default (no study status is provided) list all study design-cells for the\n study uid in status draft. If the study not exist in status draft then return\n the study design-cells for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study design-cell for this study status.\n - If the locked study status parameter is requested then a study version should\n also be provided, and then the study design-cells for the specific locked study version is returned.\n - Indicate by a boolean variable if the study design-cell can be updated (if the selected study is in status draft). \n - Indicate by a boolean variable if all expected selections have been made for each study design-cells, or some are missing.\n\n\n State after:\n - no change.\n \n Possible errors:\n - Invalid study-uid.",
"operationId": "get_all_selected_design_cells_connected_branch_arm_studies__study_uid__study_design_cells_branch_arm__branch_arm_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Uid"
}
},
{
"name": "branch_arm_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Branch Arm Uid"
}
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDesignCell"
},
"title": "Response Get All Selected Design Cells Connected Branch Arm Studies Study Uid Study Design Cells Branch Arm Branch Arm Uid Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-cells/study-epochs/{study_epoch_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study design-cells currently selected for study with provided uid that are connected to an StudyEpoch with study_epoch_uid",
"description": "State before:\n - Study must exist.\n \n Business logic:\n - By default (no study status is provided) list all study design-cells for the study uid in status draft. If the study not exist in status draft then return the study design-cells for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study design-cell for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the study design-cells for the specific locked study version is returned.\n - Indicate by a boolean variable if the study design-cell can be updated (if the selected study is in status draft). \n - Indicate by a boolean variable if all expected selections have been made for each study design-cells, or some are missing.\n\n\n State after:\n - no change.\n \n Possible errors:\n - Invalid study-uid.",
"operationId": "get_all_selected_design_cells_connected_epoch_studies__study_uid__study_design_cells_study_epochs__study_epoch_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Uid"
}
},
{
"name": "study_epoch_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"title": "Study Epoch Uid"
}
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDesignCell"
},
"title": "Response Get All Selected Design Cells Connected Epoch Studies Study Uid Study Design Cells Study Epochs Study Epoch Uid Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-classes": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Return study_design_class currently selected for the study.",
"description": "State before:\n - Study must exist.\n \nBusiness logic:\n - Returns one study design class if it exists for a specific Study.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_studies__study_uid__study_design_classes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignClass"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study design class to a study",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - Add a study design class to a study if it does not exist already.\n\nState after:\n - study design classes is added to the study.\n \nPossible errors:\n - Invalid study-uid or study design class already exists.",
"operationId": "post_new_design_class_studies__study_uid__study_design_classes_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignClassInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignClass"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"tags": [
"Study Selections"
],
"summary": "Edit a study design class",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - study design class node is found and updated with the data passed in the body\n\nState after:\n - study design class is edited in the study.\n - Added new entry in the audit trail for the update of the study-design-class.\n\nPossible errors:\n - Invalid study-uid or study_design_class_uid .",
"operationId": "put_update_design_class_studies__study_uid__study_design_classes_put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignClassInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDesignClass"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-design-classes/editions-allowed": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Return boolean indication whether StudyDesignClass can be edited.",
"description": "State before:\n - Study must exist.\n \nBusiness logic:\n - If there exist some StudyArms or StudyCohorts in a given Study, the endpoint will return false otherwise it returns true.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "check_if_study_design_class_can_be_edited_studies__study_uid__study_design_classes_editions_allowed_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "boolean",
"title": "Response Check If Study Design Class Can Be Edited Studies Study Uid Study Design Classes Editions Allowed Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-disease-milestones": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study disease_milestones currently selected for the study.",
"description": "State before:\n - Study must exist.\n \nBusiness logic:\n - By default (no study status is provided) list all study disease_milestones for the study uid in status draft. If the study not exist in status draft then return the study disease_milestones for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study disease_milestone for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the study disease_milestones for the specific locked study version is returned.\n - Indicate by an boolean variable if the study disease_milestone can be updated (if the selected study is in status draft). \n - Indicate by an boolean variable if all expected selections have been made for each study disease_milestones, or some are missing.\n - e.g. duration time unit must is expected.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_studies__study_uid__study_disease_milestones_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyDiseaseMilestone_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study disease_milestone to a study",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - Add a study disease_milestone to a study based on selection of an DiseaseMilestone CT Term.\n- Update the order value of all other disease_milestones for this study to be consecutive.\n\nState after:\n - DiseaseMilestone is added as study disease_milestone to the study.\n - Added new entry in the audit trail for the creation of the study-disease_milestone.\n \nPossible errors:\n - Invalid study-uid or DiseaseMilestone CT Term uid.",
"operationId": "post_new_disease_milestone_create_studies__study_uid__study_disease_milestones_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDiseaseMilestoneCreateInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDiseaseMilestone"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the disease_milestone",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-disease-milestones/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_studies__study_uid__study_disease_milestones_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Studies Study Uid Study Disease Milestones Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-disease-milestones/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to all study disease_milestones within the specified study-uid",
"description": "State before:\n - Study and study disease_milestone must exist.\n\nBusiness logic:\n - List all study disease_milestone audit trail within the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_study_disease_milestones_all_audit_trail_studies__study_uid__study_disease_milestones_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDiseaseMilestoneVersion"
},
"title": "Response Get Study Disease Milestones All Audit Trail Studies Study Uid Study Disease Milestones Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the provided study.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-disease-milestones/{study_disease_milestone_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all definitions for a specific study disease_milestone",
"description": "State before:\n - Study and study disease_milestone must exist\n \nBusiness logic:\n - By default (no study status is provided) list all details for specified study disease_milestone for the study uid in status draft. If the study not exist in status draft then return the study disease_milestones for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study disease_milestones for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the specified study disease_milestone for the specific locked study version is returned.\n - Indicate by an boolean variable if the study disease_milestone can be updated (if the selected study is in status draft).\n - Indicate by an boolean variable if all expected selections have been made for each study disease_milestone , or some are missing.\n - e.g. disease_milestone level, minimum one timeframe and one unit is expected.\n - Indicate by an boolean variable if the selected disease_milestone is available in a newer version.\n \nState after:\n - no change\n \nPossible errors:\n - Invalid study-uid or study_disease_milestone Uid.",
"operationId": "get_study_disease_milestone_studies__study_uid__study_disease_milestones__study_disease_milestone_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_disease_milestone_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study disease_milestone.",
"title": "Study Disease Milestone Uid"
},
"description": "The unique id of the study disease_milestone."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDiseaseMilestone"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no disease_milestone for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study disease_milestone.",
"description": "State before:\n - Study must exist and study status must be in draft.\n - study-disease_milestone-uid must exist. \n\nBusiness logic:\n - Remove specified study-disease_milestone from the study.\n - Reference to the study-disease_milestone should still exist in the audit trail.\n- Update the order value of all other disease_milestones for this study to be consecutive.\n\nState after:\n- Study disease_milestoneis deleted from the study, but still exist as a node in the database with a reference from the audit trail.\n- Added new entry in the audit trail for the deletion of the study-disease_milestone.\n \nPossible errors:\n- Invalid study-uid or study_disease_milestone_uid.",
"operationId": "delete_study_disease_milestone_studies__study_uid__study_disease_milestones__study_disease_milestone_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_disease_milestone_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study disease_milestone.",
"title": "Study Disease Milestone Uid"
},
"description": "The unique id of the study disease_milestone."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - the study or disease_milestone doesn't exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study disease_milestone",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - Same logic applies as for selecting or creating an study disease_milestone (see two POST statements for /study-disease-milestones)\n - Update the order value of all other disease_milestones for this study to be consecutive.\n\nState after:\n - DiseaseMilestone is added as study disease_milestone to the study.\n - This PATCH method can cover cover two parts:\n\n - Added new entry in the audit trail for the update of the study-disease_milestone.\n\nPossible errors:\n - Invalid study-uid or study_disease_milestone_uid .",
"operationId": "patch_update_disease_milestone_studies__study_uid__study_disease_milestones__study_disease_milestone_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_disease_milestone_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study disease_milestone.",
"title": "Study Disease Milestone Uid"
},
"description": "The unique id of the study disease_milestone."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDiseaseMilestoneEditInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDiseaseMilestone"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no study or disease_milestone .",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-disease-milestones/{study_disease_milestone_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study disease_milestone",
"description": "State before:\n - Study and study disease_milestones must exist.\n\nBusiness logic:\n - List a specific entry in the audit trail related to the specified study disease_milestone for the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_study_disease_milestone_audit_trail_studies__study_uid__study_disease_milestones__study_disease_milestone_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_disease_milestone_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study disease_milestone.",
"title": "Study Disease Milestone Uid"
},
"description": "The unique id of the study disease_milestone."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyDiseaseMilestoneVersion"
},
"title": "Response Get Study Disease Milestone Audit Trail Studies Study Uid Study Disease Milestones Study Disease Milestone Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the disease milestone provided for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-disease-milestones/{study_disease_milestone_uid}/order": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change display order of study disease_milestone",
"description": "State before:\n - Study must exist and study status must be in draft.\n - study_disease_milestone_uid must exist. \n - Old order number must match current order number in database for study disease_milestone.\n\nBusiness logic:\n - Old order number must match existing order number in the database for specified study disease_milestone.\n - New order number must be increased or decreased with one.\n - If order number is decreased with 1, then the old order number must be > 1 and a preceding study disease_milestone must exist (the specified study disease_milestone cannot be the first on the list).\n - The specified study disease_milestone get the order number set to be the new order number and the preceding study disease_milestone get the order number to be the old order number.\n - If order number is increased with 1, then a following study disease_milestone must exist (the specified study disease_milestone cannot be the last on the list).\n - The specified study disease_milestone get the order number set to be the new order number and the following study disease_milestone get the order number to be the old order number.\n\nState after:\n - Order number for specified study disease_milestone is updated to new order number.\n - Note this will change order on either the preceding or following study disease_milestone as well.\n - Added new entry in the audit trail for the re-ordering of the study disease_milestone.\n\nPossible errors:\n - Invalid study-uid, study_disease_milestone_uid\n - Old order number do not match current order number in database.\n - New order number not an increase or decrease of 1\n - Decrease order number for the first study disease_milestone on the list\n - Increase order number for the last study disease_milestone on the list",
"operationId": "patch_reorder_studies__study_uid__study_disease_milestones__study_disease_milestone_uid__order_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_disease_milestone_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study disease_milestone.",
"title": "Study Disease Milestone Uid"
},
"description": "The unique id of the study disease_milestone."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySelectionDiseaseMilestoneNewOrder",
"description": "New value to set for the order property of the selection"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyDiseaseMilestone"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and disease_milestone to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-epochs": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study epochs currently selected for the study.",
"description": "State before:\n - Study must exist.\n \nBusiness logic:\n - By default (no study status is provided) list all study epochs for the study uid in status draft. If the study not exist in status draft then return the study epochs for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study epoch for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the study epochs for the specific locked study version is returned.\n - Indicate by an boolean variable if the study epoch can be updated (if the selected study is in status draft). \n - Indicate by an boolean variable if all expected selections have been made for each study epochs, or some are missing.\n - e.g. duration time unit must is expected.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_studies__study_uid__study_epochs_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyEpoch_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study epoch to a study",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - Add a study epoch to a study based on selection of an Epoch CT Term.\n- Update the order value of all other epochs for this study to be consecutive.\n\nState after:\n - Epoch is added as study epoch to the study.\n - Added new entry in the audit trail for the creation of the study-epoch.\n \nPossible errors:\n - Invalid study-uid or Epoch CT Term uid.",
"operationId": "post_new_epoch_create_studies__study_uid__study_epochs_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyEpochCreateInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyEpoch"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the epoch",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-epochs/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_studies__study_uid__study_epochs_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Studies Study Uid Study Epochs Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-epochs/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to all study epochs within the specified study-uid",
"description": "State before:\n - Study and study epoch must exist.\n\nBusiness logic:\n - List all study epoch audit trail within the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_study_epochs_all_audit_trail_studies__study_uid__study_epochs_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyEpochVersion"
},
"title": "Response Get Study Epochs All Audit Trail Studies Study Uid Study Epochs Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the provided study.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-epochs/{study_epoch_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all definitions for a specific study epoch",
"description": "State before:\n - Study and study epoch must exist\n \nBusiness logic:\n - By default (no study status is provided) list all details for specified study epoch for the study uid in status draft. If the study not exist in status draft then return the study epochs for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study epochs for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the specified study epoch for the specific locked study version is returned.\n - Indicate by an boolean variable if the study epoch can be updated (if the selected study is in status draft).\n - Indicate by an boolean variable if all expected selections have been made for each study epoch , or some are missing.\n - e.g. epoch level, minimum one timeframe and one unit is expected.\n - Indicate by an boolean variable if the selected epoch is available in a newer version.\n \nState after:\n - no change\n \nPossible errors:\n - Invalid study-uid or study_epoch Uid.",
"operationId": "get_study_epoch_studies__study_uid__study_epochs__study_epoch_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_epoch_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study epoch.",
"title": "Study Epoch Uid"
},
"description": "The unique id of the study epoch."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyEpoch"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no epoch for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study epoch.",
"description": "State before:\n - Study must exist and study status must be in draft.\n - study-epoch-uid must exist. \n\nBusiness logic:\n - Remove specified study-epoch from the study.\n - Reference to the study-epoch should still exist in the audit trail.\n- Update the order value of all other epochs for this study to be consecutive.\n\nState after:\n- Study epochis deleted from the study, but still exist as a node in the database with a reference from the audit trail.\n- Added new entry in the audit trail for the deletion of the study-epoch.\n \nPossible errors:\n- Invalid study-uid or study_epoch_uid.",
"operationId": "delete_study_epoch_studies__study_uid__study_epochs__study_epoch_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_epoch_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study epoch.",
"title": "Study Epoch Uid"
},
"description": "The unique id of the study epoch."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - the study or epoch doesn't exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study epoch",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - Same logic applies as for selecting or creating an study epoch (see two POST statements for /study-epochs)\n - Update the order value of all other epochs for this study to be consecutive.\n\nState after:\n - Epoch is added as study epoch to the study.\n - This PATCH method can cover cover two parts:\n\n - Added new entry in the audit trail for the update of the study-epoch.\n\nPossible errors:\n - Invalid study-uid or study_epoch_uid .",
"operationId": "patch_update_epoch_studies__study_uid__study_epochs__study_epoch_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_epoch_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study epoch.",
"title": "Study Epoch Uid"
},
"description": "The unique id of the study epoch."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyEpochEditInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyEpoch"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no study or epoch .",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-epochs/{study_epoch_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study epoch",
"description": "State before:\n - Study and study epochs must exist.\n\nBusiness logic:\n - List a specific entry in the audit trail related to the specified study epoch for the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_study_epoch_audit_trail_studies__study_uid__study_epochs__study_epoch_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_epoch_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study epoch.",
"title": "Study Epoch Uid"
},
"description": "The unique id of the study epoch."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyEpochVersion"
},
"title": "Response Get Study Epoch Audit Trail Studies Study Uid Study Epochs Study Epoch Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the visit for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-epochs/preview": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Preview a study epoch",
"operationId": "post_preview_epoch_studies__study_uid__study_epochs_preview_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyEpochCreateInput",
"description": "Related parameters of the epoch that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyEpoch"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-epochs/{study_epoch_uid}/order/{new_order}": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Change display order of study epoch",
"description": "State before:\n - Study must exist and study status must be in draft.\n - study_epoch_uid must exist. \n - Old order number must match current order number in database for study epoch.\n\nBusiness logic:\n - Old order number must match existing order number in the database for specified study epoch.\n - New order number must be increased or decreased with one.\n - If order number is decreased with 1, then the old order number must be > 1 and a preceding study epoch must exist (the specified study epoch cannot be the first on the list).\n - The specified study epoch get the order number set to be the new order number and the preceding study epoch get the order number to be the old order number.\n - If order number is increased with 1, then a following study epoch must exist (the specified study epoch cannot be the last on the list).\n - The specified study epoch get the order number set to be the new order number and the following study epoch get the order number to be the old order number.\n\nState after:\n - Order number for specified study epoch is updated to new order number.\n - Note this will change order on either the preceding or following study epoch as well.\n - Added new entry in the audit trail for the re-ordering of the study epoch.\n\nPossible errors:\n - Invalid study-uid, study_epoch_uid\n - Old order number do not match current order number in database.\n - New order number not an increase or decrease of 1\n - Decrease order number for the first study epoch on the list\n - Increase order number for the last study epoch on the list",
"operationId": "patch_reorder_studies__study_uid__study_epochs__study_epoch_uid__order__new_order__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_epoch_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study epoch.",
"title": "Study Epoch Uid"
},
"description": "The unique id of the study epoch."
},
{
"name": "new_order",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "New Order"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyEpoch"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and epoch to reorder.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/epochs/allowed-configs": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all allowed config sets",
"operationId": "get_all_configs_epochs_allowed_configs_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "terms_at_specific_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date"
},
{
"type": "null"
}
],
"description": "If specified, allowed configurations with specified date is returned.\n\n This should be in date format YYYY-MM-DD",
"title": "Terms At Specific Date"
},
"description": "If specified, allowed configurations with specified date is returned.\n\n This should be in date format YYYY-MM-DD"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyEpochTypes"
},
"title": "Response Get All Configs Epochs Allowed Configs Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/allowed-consecutive-groups": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all consecutive groups",
"operationId": "get_all_consecutive_groups_studies__study_uid__allowed_consecutive_groups_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyVisitGroup"
},
"title": "Response Get All Consecutive Groups Studies Study Uid Allowed Consecutive Groups Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-soa-footnotes": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study soa footnotes defined for all studies",
"operationId": "get_all_study_soa_footnotes_from_all_studies_study_soa_footnotes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySoAFootnote_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study soa footnotes currently defined for the study",
"operationId": "get_all_study_soa_footnotes_studies__study_uid__study_soa_footnotes_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "minimal_response",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Specifies whether minimal version of SoAFootnote should be returned",
"default": false,
"title": "Minimal Response"
},
"description": "Specifies whether minimal version of SoAFootnote should be returned"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySoAFootnote_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study soa footnote to a study",
"operationId": "post_new_soa_footnote_studies__study_uid__study_soa_footnotes_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "create_footnote",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether the specified footnote should be created in the library.\n- If this parameter is set to `true`, a `StudySoAFootnoteCreateFootnoteInput` payload needs to be sent.\n- Otherwise, `StudySoAFootnoteCreateInput` payload should be sent, referencing an existing library footnote by uid.",
"default": false,
"title": "Create Footnote"
},
"description": "Indicates whether the specified footnote should be created in the library.\n- If this parameter is set to `true`, a `StudySoAFootnoteCreateFootnoteInput` payload needs to be sent.\n- Otherwise, `StudySoAFootnoteCreateInput` payload should be sent, referencing an existing library footnote by uid."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySoAFootnoteCreateFootnoteInput"
},
{
"$ref": "#/components/schemas/StudySoAFootnoteCreateInput"
}
],
"description": "Related parameters of the schedule that shall be created.",
"title": "Soa Footnote Input"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAFootnote"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study, footnote or SoA item is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_studies__study_uid__study_soa_footnotes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Studies Study Uid Study Soa Footnotes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/study-soa-footnotes/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_top_level_study_soa_footnotes_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Top Level Study Soa Footnotes Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes/{study_soa_footnote_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List a specific study soa footnote defined for a study",
"operationId": "get_study_soa_footnote_studies__study_uid__study_soa_footnotes__study_soa_footnote_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_soa_footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study soa footnote.",
"title": "Study Soa Footnote Uid"
},
"description": "The unique id of the study soa footnote."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAFootnote"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study with the given uid or the study soa footnote doesn't exist",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study soa footnote",
"operationId": "edit_study_soa_footnote_studies__study_uid__study_soa_footnotes__study_soa_footnote_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_soa_footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study soa footnote.",
"title": "Study Soa Footnote Uid"
},
"description": "The unique id of the study soa footnote."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAFootnoteEditInput",
"description": "Related parameters of the schedule that shall be edited."
}
}
}
},
"responses": {
"200": {
"description": "No Content - The study soa footnote was successfully edited.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAFootnote"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - the study soa footnote doesn't exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study soa footnote",
"operationId": "delete_study_soa_footnote_studies__study_uid__study_soa_footnotes__study_soa_footnote_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_soa_footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study soa footnote.",
"title": "Study Soa Footnote Uid"
},
"description": "The unique id of the study soa footnote."
}
],
"responses": {
"204": {
"description": "No Content - The study soa footnote was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - the study soa footnote doesn't exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes/batch-select": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Batch create Study SoA footnotes to a given Study",
"operationId": "post_new_soa_footnotes_batch_select_studies__study_uid__study_soa_footnotes_batch_select_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoAFootnoteCreateFootnoteInput"
},
"description": "Related parameters of the footnote that shall be created.",
"title": "Soa Footnote Input"
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoAFootnote"
},
"title": "Response Post New Soa Footnotes Batch Select Studies Study Uid Study Soa Footnotes Batch Select Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study, footnote or SoA item is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes/batch-edit": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a batch of study soa footnotes",
"operationId": "batch_edit_study_soa_footnote_studies__study_uid__study_soa_footnotes_batch_edit_patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoAFootnoteBatchEditInput"
},
"description": "List of Patch payloads to update StudySoAFootnotes",
"title": "Edit Payloads"
}
}
}
},
"responses": {
"207": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoAFootnoteBatchOutput"
},
"title": "Response Batch Edit Study Soa Footnote Studies Study Uid Study Soa Footnotes Batch Edit Patch"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes/preview": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Preview creating a study soa footnote selection based on the input data",
"operationId": "preview_new_soa_footnote_studies__study_uid__study_soa_footnotes_preview_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAFootnoteCreateFootnoteInput",
"description": "Related parameters of the selection that shall be previewed."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAFootnote"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a study soa footnote",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or soa footnote is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes/{study_soa_footnote_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study soa footnotes.",
"description": "The following values should be returned for all study soa footnotes:\n- date_time\n- author_username\n- action\n- activity\n- order",
"operationId": "get_specific_soa_footnotes_audit_trail_studies__study_uid__study_soa_footnotes__study_soa_footnote_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_soa_footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study soa footnote.",
"title": "Study Soa Footnote Uid"
},
"description": "The unique id of the study soa footnote."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoAFootnoteVersion"
},
"title": "Response Get Specific Soa Footnotes Audit Trail Studies Study Uid Study Soa Footnotes Study Soa Footnote Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnote/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List full audit trail related to definition of all study soa footnotes within a specific study",
"description": "The following values should be returned for all study soa footnotes:\n- date_time\n- author_username\n- action\n- activity\n- order",
"operationId": "get_all_soa_footnotes_audit_trail_studies__study_uid__study_soa_footnote_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudySoAFootnoteVersion"
},
"title": "Response Get All Soa Footnotes Audit Trail Studies Study Uid Study Soa Footnote Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes/{study_soa_footnote_uid}/accept-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "accept StudySoAFootnote selection's footnote version",
"description": "State before:\n - Study must exist\n - Study SoA Footnote selection must exist\n - Footnote version selected for study footnote selection is not the latest available final version of the footnote.\n\n Business logic:\n - Update specified footnote study-selection, setting accepted version to show that update was refused by user.\n\n State after:\n - Study exists\n - Study SoA Footnote selection exists\n - Footnote version selected for study SoA Footnote selection is not changed.\n - Added new entry in the audit trail for the update of the study-soa-footnote.",
"operationId": "patch_footnote_accept_version_studies__study_uid__study_soa_footnotes__study_soa_footnote_uid__accept_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_soa_footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study soa footnote.",
"title": "Study Soa Footnote Uid"
},
"description": "The unique id of the study soa footnote."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAFootnote"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and study soa footnote",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-soa-footnotes/{study_soa_footnote_uid}/sync-latest-version": {
"post": {
"tags": [
"Study Selections"
],
"summary": "update to latest footnote version study selection",
"description": "State before:\n - Study must exist\n - Study SoA Footnote selection must exist\n - Footnote version selected for study footnote selection is not the latest available final version of the footnote.\n\n Business logic:\n - Update specified footnote study-selection to latest footnote\n\n State after:\n - Study exists\n - Study SoA Footnote selection exists\n - Footnote version selected for study SoA Footnote selection is not changed.\n - Added new entry in the audit trail for the update of the study-soa-footnote.",
"operationId": "patch_footnote_sync_to_latest_footnote_studies__study_uid__study_soa_footnotes__study_soa_footnote_uid__sync_latest_version_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_soa_footnote_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study soa footnote.",
"title": "Study Soa Footnote Uid"
},
"description": "The unique id of the study soa footnote."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySoAFootnote"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no selection between the study and study soa footnote",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-source-variables": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Return study_source_variable currently selected for the study.",
"description": "State before:\n - Study must exist.\n \nBusiness logic:\n - Returns one study source variable if it exists for a specific Study.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_studies__study_uid__study_source_variables_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/StudySourceVariable"
},
{
"type": "null"
}
],
"title": "Response Get Studies Study Uid Study Source Variables Get"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study source variable to a study",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - Add a study source_variable to a study if it does not exist already.\n\nState after:\n - study source variables is added to the study.\n \nPossible errors:\n - Invalid study-uid or study source variable already exists.",
"operationId": "post_new_source_variable_studies__study_uid__study_source_variables_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySourceVariableInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySourceVariable"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"put": {
"tags": [
"Study Selections"
],
"summary": "Edit a study source variable",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - study source variable node is found and updated with the data passed in the body\n\nState after:\n - study source variable is edited in the study.\n - Added new entry in the audit trail for the update of the study-source-variable.\n\nPossible errors:\n - Invalid study-uid or study_source_variable_uid .",
"operationId": "put_update_source_variable_studies__study_uid__study_source_variables_put",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySourceVariableInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudySourceVariable"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-standard-versions": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study standard_versions currently selected for the study.",
"description": "State before:\n - Study must exist.\n \nBusiness logic:\n - By default (no study status is provided) list all study standard_versions for the study uid in status draft. If the study not exist in status draft then return the study standard_versions for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study standard_version for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the study standard_versions for the specific locked study version is returned.\n - Indicate by an boolean variable if the study standard_version can be updated (if the selected study is in status draft). \n - Indicate by an boolean variable if all expected selections have been made for each study standard_versions, or some are missing.\n - e.g. duration time unit must is expected.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_all_studies__study_uid__study_standard_versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyStandardVersion"
},
"title": "Response Get All Studies Study Uid Study Standard Versions Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study standard version to a study",
"description": "State before:\n - Study must exist and study status must be in draft.\n - Study must not have assigned a Study Standard Version previously\n\nBusiness logic:\n - Add a study standard_version to a study based on selection of an CTPackage.\n\nState after:\n - StandardVersion Selection is added to the study.\n - Added new entry in the audit trail for the creation of the study-standard_version.\n \nPossible errors:\n - Invalid study-uid or CTPackage\n - The study contains already a Selected Study Standard Version",
"operationId": "post_new_standard_version_create_studies__study_uid__study_standard_versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyStandardVersionInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyStandardVersion"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - There already exists a selection of the study_standard_version",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-standard-versions/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to all study standard_versions within the specified study-uid",
"description": "State before:\n - Study and study standard_version must exist.\n\nBusiness logic:\n - List all study standard_version audit trail within the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_study_standard_versions_all_audit_trail_studies__study_uid__study_standard_versions_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyStandardVersionVersion"
},
"title": "Response Get Study Standard Versions All Audit Trail Studies Study Uid Study Standard Versions Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the provided study.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-standard-versions/{study_standard_version_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all definitions for a specific study standard_version",
"description": "State before:\n - Study and study standard_version must exist\n \nBusiness logic:\n - By default (no study status is provided) list all details for specified study standard_version for the study uid in status draft. If the study not exist in status draft then return the study standard_versions for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study standard_versions for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the specified study standard_version for the specific locked study version is returned.\n - Indicate by an boolean variable if the study standard_version can be updated (if the selected study is in status draft).\n - Indicate by an boolean variable if all expected selections have been made for each study standard_version , or some are missing.\n - e.g. standard_version level, minimum one timeframe and one unit is expected.\n - Indicate by an boolean variable if the selected standard_version is available in a newer version.\n \nState after:\n - no change\n \nPossible errors:\n - Invalid study-uid or study_standard_version Uid.",
"operationId": "get_study_standard_version_studies__study_uid__study_standard_versions__study_standard_version_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_standard_version_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study standard_version.",
"title": "Study Standard Version Uid"
},
"description": "The unique id of the study standard_version."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyStandardVersion"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no standard_version for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study standard_version.",
"description": "State before:\n - Study must exist and study status must be in draft.\n - study-standard_version-uid must exist. \n\nBusiness logic:\n - Remove specified study-standard_version from the study.\n - Reference to the study-standard_version should still exist in the audit trail.\n- Update the order value of all other standard_versions for this study to be consecutive.\n\nState after:\n- Study standard_versions deleted from the study, but still exist as a node in the database with a reference from the audit trail.\n- Added new entry in the audit trail for the deletion of the study-standard_version.\n \nPossible errors:\n- Invalid study-uid or study_standard_version_uid.",
"operationId": "delete_study_standard_version_studies__study_uid__study_standard_versions__study_standard_version_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_standard_version_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study standard_version.",
"title": "Study Standard Version Uid"
},
"description": "The unique id of the study standard_version."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - the study or standard_version doesn't exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study standard_version",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - Same logic applies as for selecting or creating an study standard_version (see two POST statements for /study-standard-versions)\n - Update the order value of all other standard_versions for this study to be consecutive.\n\nState after:\n - StandardVersionType is added as study standard_version to the study.\n - This PATCH method can cover cover two parts:\n\n - Added new entry in the audit trail for the update of the study-standard_version.\n\nPossible errors:\n - Invalid study-uid or study_standard_version_uid .",
"operationId": "patch_update_standard_version_studies__study_uid__study_standard_versions__study_standard_version_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_standard_version_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study standard_version.",
"title": "Study Standard Version Uid"
},
"description": "The unique id of the study standard_version."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyStandardVersionEditInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyStandardVersion"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no study or standard_version .",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-standard-versions/{study_standard_version_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study standard_version",
"description": "State before:\n - Study and study standard_versions must exist.\n\nBusiness logic:\n - List a specific entry in the audit trail related to the specified study standard_version for the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_study_standard_version_audit_trail_studies__study_uid__study_standard_versions__study_standard_version_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_standard_version_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study standard_version.",
"title": "Study Standard Version Uid"
},
"description": "The unique id of the study standard_version."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyStandardVersionVersion"
},
"title": "Response Get Study Standard Version Audit Trail Studies Study Uid Study Standard Versions Study Standard Version Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the standard version provided for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study visits currently defined for the study",
"description": "State before:\n- Study must exist.\n \nBusiness logic:\n - By default (no study status is provided) list all study visits for the study uid in status draft. If the study not exist in status draft then return the study visits for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study visit for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the study visits for the specific locked study version is returned.\n - Indicate by an boolean variable if the study visit can be updated (if the selected study is in status draft). \n - Indicate by an boolean variable if all expected selections have been made for each study visits , or some are missing.\n - e.g. time unit must is expected.\n - Indicate by an boolean variable if a study visit can be re-ordered.\n - Duration time is calculated in the duration time unit specified for the study epoch based on the following rule:\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_studies__study_uid__study_visits_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "derive_props_based_on_timeline",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether the (visit_name, visit_short_name, unique_visit_number) properties are derived based on the study visit timeline and not from database values.",
"default": false,
"title": "Derive Props Based On Timeline"
},
"description": "Indicates whether the (visit_name, visit_short_name, unique_visit_number) properties are derived based on the study visit timeline and not from database values."
},
{
"name": "lite",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Whether to use the lightweight implementation of this endpoint, which doesn't support `filters` and `operator` parameters.",
"default": false,
"title": "Lite"
},
"description": "Whether to use the lightweight implementation of this endpoint, which doesn't support `filters` and `operator` parameters."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Union_StudyVisitLite__StudyVisit__"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Study Selections"
],
"summary": "Add a study visit to a study",
"description": "State before:\n - Study must exist and study status must be in draft.\n\nBusiness logic:\n - A subset of the visit types are of the type being a time reference (the sponsor defined term exist both in the code list visit type as well as time reference) - only one visit in the study visits can refer to a visit type related to a specific time reference.\n \n - The initial study visit specified for a study must refer to a visit type being a time reference type, it must have this as the time reference as well, and the time value must be set to 0.\n \n - All other study visits, than the initial visit, must either refer to a time reference that exist as a visit type for one of the other study visits for the study; or refer to the time reference for 'previous visit'. [previous visit needs to be selected in up - this probably will not be implemented in 0.1]\n\n - The duration time must be calculated as the duration time at the visit for the reference time + the time value specified for the study visit. [absolute value of time difference from initial reference time visit (e.g. the Baseline visit)\" - to be discussed in point 3]\n \n - The duration time must be returned in the duration time unit specified for the related study epoch. [changed calculated to returned]\n \n - The time value is only valid, if the derived duration time for the study visit is greater than or equal to the duration time for the last study visit in the previous study epoch (given the study visit not is in the first epoch). [depending on a epoch definition, not in v 0.1]\n \n - The time value is only valid, if the derived duration time for the study visit is less than or equal to the duration time for the first study visit in the following study epoch (given the study visit not is in the last epoch). [depending on epoch definition, not in c 0.1)\n ]\n - The study day number is derived as:\n - Equal to the derived study duration time in days if value is less than 0.\n - Equal to 1 + the derived study duration time in days if value is greater than or equal to 0.\n - If the derived study duration time is blank, then the study day number must also be blank.\n - The derived result for the study day number is rounded: If result is below zero, the result is rounded using ceil function. Otherwise the result is rounded using floor function.\n \n - The study day label is a text string derived by concatenation of: Day++[Study day number]\n - The study week number is derived as\n - Equal to the derived study duration time in weeks if value is less than 0.\n - Equal to 1 + the derived study duration time in weeks if value is greater than or equal to 0.\n - If the derived study duration time is blank, then the study week number must also be blank.\n - The derived result for the study week number is rounded: If result is below zero, the result is rounded using ceil function. Otherwise the result is rounded using floor function.\n - The study week label is a text string derived by concatenation of: Week+space+[Study week number]\n\n\n - The visit number is derived as an running integer with 1 for the very first visit sorted by chronological order (i.e. 1, 2. 3, 4, etc.). [NOTE: we have to figure out a rule for how we avoid counting sub visits? 1.1, 1.2, 1.3 etc?]\n \n - The unique visit number is derived as an integer with 10 for the very first visit, increasing with +10 for each visit, sorted by chronological order (i.e. 10, 20. 30, 40, etc.). [NOTE: we have to figure out a rule for how we create unique visit numbers for sub visits?]\n \n - The visit name is a text string derived by concatenation of: Visit+space+[Visit number]+[Visit sub-label] (if available)\n \n - The visit short name is a text string derived by concatenation of: V+[Visit number]+[Visit sub-label] (if available)\n\n\nState after:\n - the visit is added as study visit to the study.\n - Added new entry in the audit trail for the creation of the study-visit .\n - new simple concepts are possibly created based on the result of the \"get or create\" operation.\n \nPossible errors:\n - Invalid study-uid.\n - Invalid timepointuid, visitnameuid, ... etc.",
"operationId": "post_new_visit_create_studies__study_uid__study_visits_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyVisitCreateInput",
"description": "Related parameters of the visit that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyVisit"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - The settings for visit are invalid",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study or visit is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits/headers": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_studies__study_uid__study_visits_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Studies Study Uid Study Visits Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits-references": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all study visit references for study currently selected",
"operationId": "get_all_references_studies__study_uid__study_visits_references_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyVisit"
},
"title": "Response Get All References Studies Study Uid Study Visits References Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits/preview": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Preview a study visit",
"operationId": "post_preview_visit_studies__study_uid__study_visits_preview_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyVisitCreateInput",
"description": "Related parameters of the visit that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyVisit"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Study is not found with the passed 'study_uid'.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits/allowed-time-references": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Returns all allowed time references for a study visit",
"operationId": "get_allowed_time_references_for_given_study_studies__study_uid__study_visits_allowed_time_references_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique uid of the study",
"title": "Study Uid"
},
"description": "The unique uid of the study"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AllowedTimeReferences"
},
"title": "Response Get Allowed Time References For Given Study Studies Study Uid Study Visits Allowed Time References Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits/{study_visit_uid}": {
"patch": {
"tags": [
"Study Selections"
],
"summary": "Edit a study visit",
"description": "State before:\n - Study and study visit must exist and study status must be in draft.\n\nBusiness logic:\n - Same logic applies as for selecting or creating an study visit (see POST statements for /study-visits)\n\nState after:\n - Visit is added as study visit to the study.\n - Add new entry in the audit trail for the update of the study-visit .\n\nPossible errors:\n - Invalid study-uid or study_visit_uid_description .",
"operationId": "patch_update_visit_studies__study_uid__study_visits__study_visit_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_visit_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study visit.",
"title": "Study Visit Uid"
},
"description": "The unique id of the study visit."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyVisitEditInput",
"description": "Related parameters of the selection that shall be created."
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyVisit"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - There exist no study or visit.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Study Selections"
],
"summary": "Delete a study visit",
"description": "\"\nState before:\n - Study must exist and study status must be in draft.\n - study_visit_uid must exist. \n\nBusiness logic:\n - Remove specified study-visit from the study.\n - Reference to the study-visit should still exist in the audit trail.\n - Simple concepts that are now unused should continue to be persisted in the database.\n\nState after:\n - Study visit deleted from the study, but still exist as a node in the database with a reference from the audit trail.\n - Added new entry in the audit trail for the deletion of the study-visit .\n \nPossible errors:\n - Invalid study-uid or study_visit_uid.",
"operationId": "delete_study_visit_studies__study_uid__study_visits__study_visit_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_visit_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study visit.",
"title": "Study Visit Uid"
},
"description": "The unique id of the study visit."
}
],
"responses": {
"204": {
"description": "No Content - The selection was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the visit and the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"get": {
"tags": [
"Study Selections"
],
"summary": "List all definitions for a specific study visit",
"description": "State before:\n - Study and study visit must exist\n \nBusiness logic:\n - By default (no study status is provided) list all details for specified study visit for the study uid in status draft. If the study not exist in status draft then return the study visits for the study in status released. If the study uid only exist as deleted then this is returned.\n - If a specific study status parameter is provided then return study visits for this study status.\n - If the locked study status parameter is requested then a study version should also be provided, and then the specified study visit for the specific locked study version is returned.\n - Indicate by an boolean variable if the study visit can be updated (if the selected study is in status draft).\n - Indicate by an boolean variable if all expected selections have been made for each study visit , or some are missing.\n - Indicate by an boolean variable if the selected visit is available in a newer version.\n \nState after:\n - no change\n \nPossible errors:\n - Invalid study-uid or study_visit_uid.",
"operationId": "get_study_visit_studies__study_uid__study_visits__study_visit_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_visit_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study visit.",
"title": "Study Visit Uid"
},
"description": "The unique id of the study visit."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "derive_props_based_on_timeline",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether the (visit_name, visit_short_name, unique_visit_number) properties are derived based on the study visit timeline and not from database values.",
"default": false,
"title": "Derive Props Based On Timeline"
},
"description": "Indicates whether the (visit_name, visit_short_name, unique_visit_number) properties are derived based on the study visit timeline and not from database values."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/StudyVisit"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no visit for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits/{study_visit_uid}/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of a specific study visit.",
"description": "State before:\n - Study and study visits must exist.\n\nBusiness logic:\n - List a specific entry in the audit trail related to the specified study visit for the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_study_visit_audit_trail_studies__study_uid__study_visits__study_visit_uid__audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_visit_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study visit.",
"title": "Study Visit Uid"
},
"description": "The unique id of the study visit."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyVisitVersion"
},
"title": "Response Get Study Visit Audit Trail Studies Study Uid Study Visits Study Visit Uid Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the study visit for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits/audit-trail": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List audit trail related to definition of all study visits within the specified study-uid.",
"description": "State before:\n - Study and study visits must exist.\n\nBusiness logic:\n - List all study visit audit trail within the specified study-uid.\n - If the released or a locked version of the study is selected then only entries up to the time of the study release or lock is included.\n\nState after:\n - no change.\n \nPossible errors:\n - Invalid study-uid.",
"operationId": "get_study_visits_all_audit_trail_studies__study_uid__study_visits_audit_trail_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyVisitVersion"
},
"title": "Response Get Study Visits All Audit Trail Studies Study Uid Study Visits Audit Trail Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there exist no selection of the study visit for the study provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/get-amount-of-visits-in-epoch/{study_epoch_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "Counts amount of visits in a specified study epoch",
"description": "State before:\n- Study must exist.\n\nBusiness logic:\n - Counts amount of visits in a specified study epoch.\n\nState after:\n - no change.\n\nPossible errors:\n - Invalid study_uid.\n - Invalid study_epoch_uid.",
"operationId": "get_amount_of_visits_in_given_epoch_studies__study_uid__get_amount_of_visits_in_epoch__study_epoch_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_epoch_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique uid of the study epoch",
"title": "Study Epoch Uid"
},
"description": "The unique uid of the study epoch"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "integer",
"title": "Response Get Amount Of Visits In Given Epoch Studies Study Uid Get Amount Of Visits In Epoch Study Epoch Uid Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/global-anchor-visit": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List global anchor visit study visits for selected study referenced by 'study_uid' ",
"description": "State before:\n- Study must exist.\n\nBusiness logic:\n - Looks for a study visit that is a global anchor visit.\n\nState after:\n - no change.\n\nPossible errors:\n - Invalid study-uid.",
"operationId": "get_global_anchor_visit_studies__study_uid__global_anchor_visit_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/SimpleStudyVisit"
},
{
"type": "null"
}
],
"title": "Response Get Global Anchor Visit Studies Study Uid Global Anchor Visit Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/anchor-visits-in-group-of-subvisits": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all anchor visits for group of subvisits for selected study referenced by 'study_uid' ",
"description": "State before:\n- Study must exist.\n\nBusiness logic:\n - Looks for a study visits that are anchor visits in a group of subvisits.\n\nState after:\n - no change.\n\nPossible errors:\n - Invalid study-uid.",
"operationId": "get_anchor_visits_in_group_of_subvisits_studies__study_uid__anchor_visits_in_group_of_subvisits_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimpleStudyVisit"
},
"title": "Response Get Anchor Visits In Group Of Subvisits Studies Study Uid Anchor Visits In Group Of Subvisits Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/anchor-visits-for-special-visit": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all visits that can be anchor visits for special visit for a selected study referenced by 'study_uid' and selected study epoch referenced by 'study_epoch_uid'",
"description": "State before:\n- Study must exist.\n\nBusiness logic:\n - Looks for a study visits that can be anchor visits for a special visit.\n - It returns only these StudyVisits that are included in the specified StudyEpoch.\n\nState after:\n - no change.\n\nPossible errors:\n - Invalid study-uid.",
"operationId": "get_anchor_visits_for_special_visit_studies__study_uid__anchor_visits_for_special_visit_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_epoch_uid",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The uid of StudyEpoch from which StudyVisits are returned.",
"title": "Study Epoch Uid"
},
"description": "The uid of StudyEpoch from which StudyVisits are returned."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimpleStudyVisit"
},
"title": "Response Get Anchor Visits For Special Visit Studies Study Uid Anchor Visits For Special Visit Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/study-visits-for-activity-instance/{study_activity_instance_uid}": {
"get": {
"tags": [
"Study Selections"
],
"summary": "List all study visits where study activity instance is currently scheduled",
"operationId": "get_study_visits_for_specific_activity_instance_studies__study_uid__study_visits_for_activity_instance__study_activity_instance_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "study_activity_instance_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study activity instance.",
"title": "Study Activity Instance Uid"
},
"description": "The unique id of the study activity instance."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/SimpleStudyVisit"
},
"title": "Response Get Study Visits For Specific Activity Instance Studies Study Uid Study Visits For Activity Instance Study Activity Instance Uid Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - there is no study activity instance with the given uid.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/consecutive-visit-groups": {
"post": {
"tags": [
"Study Selections"
],
"summary": "Assign consecutive visit groups for specific study visits for a selected study referenced by 'study_uid' ",
"description": "State before:\n- Study must exist.\n\nBusiness logic:\n - Assigns consecutive visit groups for specified study visits.\n\nState after:\n - no change.\n\nPossible errors:\n - Invalid study-uid.",
"operationId": "assign_consecutive_visit_group_for_selected_study_visit_studies__study_uid__consecutive_visit_groups_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "validate_only",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether only validation of consecutive visit group assignment should be performed",
"default": false,
"title": "Validate Only"
},
"description": "Indicates whether only validation of consecutive visit group assignment should be performed"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VisitConsecutiveGroupInput",
"description": "The properties needed to assign visits into consecutive visit group"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/StudyVisit"
},
"title": "Response Assign Consecutive Visit Group For Selected Study Visit Studies Study Uid Consecutive Visit Groups Post"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/studies/{study_uid}/consecutive-visit-groups/{consecutive_visit_group_uid}": {
"delete": {
"tags": [
"Study Selections"
],
"summary": "Remove consecutive visit group specified by consecutive-visit-group-name for a selected study referenced by 'study_uid' ",
"description": "State before:\n- Study must exist.\n\nBusiness logic:\n - Removes consecutive-visit-group.\n\nState after:\n - no change.\n\nPossible errors:\n - Invalid study-uid.",
"operationId": "remove_consecutive_group_studies__study_uid__consecutive_visit_groups__consecutive_visit_group_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of the study.",
"title": "Study Uid"
},
"description": "The unique id of the study."
},
{
"name": "consecutive_visit_group_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The name of the consecutive-visit-group that is removed",
"title": "Consecutive Visit Group Uid"
},
"description": "The name of the consecutive-visit-group that is removed"
}
],
"responses": {
"204": {
"description": "Successful Response"
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/unit-definitions": {
"get": {
"tags": [
"Unit Definitions"
],
"summary": "Returns all unit definitions in their latest/newest version.",
"description": "Allowed parameters include : filter on fields, sort by field name with sort direction, pagination.\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_concepts_unit_definitions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "dimension",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The code submission value of the unit dimension to filter, for instance 'Dose Unit'.",
"title": "Dimension"
},
"description": "The code submission value of the unit dimension to filter, for instance 'Dose Unit'."
},
{
"name": "subset",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the unit subset to filter, for instance 'Age Unit'.",
"title": "Subset"
},
"description": "The name of the unit subset to filter, for instance 'Age Unit'."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_UnitDefinitionModel_"
}
},
"text/csv": {
"example": "\n\"library\",\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"Sponsor\",\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n - e9117175-918f-489e-9a6e-65e0025233a6Alamakota2020-11-19T11:51:43.000ZDraft0.2Testsomeone@example.com
\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Unit Definitions"
],
"summary": "Creates a new unit definition in 'Draft' status.",
"description": "This request is only valid if the unit definition\n* belongs to a library that allows creating (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.\n* The unit definition template will be linked to a library.",
"operationId": "post_concepts_unit_definitions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionPostInput",
"description": "The concept that shall be created."
}
}
}
},
"responses": {
"201": {
"description": "Created - The concept was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The concept name is not valid.\n- The library doesn't allow to create concept.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The library with the specified 'library_name' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/unit-definitions/headers": {
"get": {
"tags": [
"Unit Definitions"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_concepts_unit_definitions_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "library_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"title": "Library Name"
}
},
{
"name": "dimension",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The code submission value of the unit dimension to filter, for instance 'Dose Unit'.",
"title": "Dimension"
},
"description": "The code submission value of the unit dimension to filter, for instance 'Dose Unit'."
},
{
"name": "subset",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "The name of the unit subset to filter, for instance 'Age Unit'.",
"title": "Subset"
},
"description": "The name of the unit subset to filter, for instance 'Age Unit'."
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Concepts Unit Definitions Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/unit-definitions/{unit_definition_uid}": {
"get": {
"tags": [
"Unit Definitions"
],
"summary": "Returns the latest/newest version of a specific Unit definition identified by 'unit_definition_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_by_uid_concepts_unit_definitions__unit_definition_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "unit_definition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of unit definition.",
"title": "Unit Definition Uid"
},
"description": "The unique id of unit definition."
},
{
"name": "at_specified_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified, the latest/newest representation of the unit definition at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. ",
"title": "At Specified Date Time"
},
"description": "If specified, the latest/newest representation of the unit definition at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. "
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, the representation of the unit definition in that status is returned (if existent). This may be particularly useful if the unit definition has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, the representation of the unit definition in that status is returned (if existent). This may be particularly useful if the unit definition has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, the latest/newest representation of the concept is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "If specified, the latest/newest representation of the concept is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The unit definition with the specified\n 'unit_definition_uid' (and the specified date/time, version and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Unit Definitions"
],
"summary": "Updates the unit definition identified by 'unit_definition_uid'.",
"description": "This request is only valid if the unit definition\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "patch_concepts_unit_definitions__unit_definition_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "unit_definition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of unit definition.",
"title": "Unit Definition Uid"
},
"description": "The unique id of unit definition."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionPatchInput",
"description": "The new content of the concept including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The unit definition is not in draft status.\n- The library doesn't allow to edit draft versions.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The concept with the specified 'unit_definition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"409": {
"description": "The request could not be completed due to a conflict with the current state of the target resource. This typically occurs when attempting to create or modify a resource that already exists or violates a uniqueness constraint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Unit Definitions"
],
"summary": "Deletes the unit definition identified by 'unit_definition_uid'.",
"description": "This request is only valid if \n\n* the unit definition is in 'Draft' status and\n* the unit definition has never been in 'Final' status and\n* the unit definition belongs to a library that allows deleting (the 'is_editable' property of the library needs to be true).",
"operationId": "delete_concepts_unit_definitions__unit_definition_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "unit_definition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of unit definition.",
"title": "Unit Definition Uid"
},
"description": "The unique id of unit definition."
}
],
"responses": {
"204": {
"description": "No Content - The concept was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The concept is not in draft status.\n- The concept was already in final state or is in use.\n- The library doesn't allow to delete concept.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An concept with the specified uid could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/unit-definitions/{unit_definition_uid}/versions": {
"get": {
"tags": [
"Unit Definitions"
],
"summary": "Returns the version history of a specific concept identified by 'unit_definition_uid'.",
"description": "The returned versions are ordered by `start_date` descending (newest entries first)\n\n\n\nResponse format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_versions_concepts_unit_definitions__unit_definition_uid__versions_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "unit_definition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of unit definition.",
"title": "Unit Definition Uid"
},
"description": "The unique id of unit definition."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UnitDefinitionModel"
},
"title": "Response Get Versions Concepts Unit Definitions Unit Definition Uid Versions Get"
}
},
"text/csv": {
"example": "\n\"library\";\"uid\";\"name\";\"start_date\";\"end_date\";\"status\";\"version\";\"change_description\";\"author_username\"\n\"Sponsor\";\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\";\"First [ComparatorIntervention]\";\"2020-10-22T10:19:29+00:00\";;\"Draft\";\"0.1\";\"Initial version\";\"NdSJ\"\n"
},
"text/xml": {
"example": "\n - Alamakota2020-11-19 11:51:43+00:00NoneDraft0.2Testsomeone@example.com
- Alamakota2020-11-19 11:51:07+00:002020-11-19 11:51:43+00:00Draft0.1Initial versionsomeone@example.com
\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The concept with the specified 'unit_definition_uid' wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Unit Definitions"
],
"summary": "Creates a new version of the unit definition identified by 'unit_definition_uid'.",
"description": "This request is only valid if the unit definition\n* is in 'Final' or 'Retired' status only (so no latest 'Draft' status exists) and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The latest 'Final' or 'Retired' version will remain the same as before.\n* The status of the new version will be automatically set to 'Draft'.\n* The 'version' property of the new version will be automatically set to the version of the latest 'Final' or 'Retired' version increased by +0.1.",
"operationId": "new_version_concepts_unit_definitions__unit_definition_uid__versions_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "unit_definition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of unit definition.",
"title": "Unit Definition Uid"
},
"description": "The unique id of unit definition."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The unit definition is not in final or retired status or has a draft status.\n- The library doesn't allow to create a new version.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The concept with the specified 'unit_definition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/unit-definitions/{unit_definition_uid}/approvals": {
"post": {
"tags": [
"Unit Definitions"
],
"summary": "Approves the unit definition identified by 'unit_definition_uid'.",
"description": "This request is only valid if the unit definition\n* is in 'Draft' status and\n* belongs to a library that allows editing (the 'is_editable' property of the library needs to be true).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be increased automatically to the next major version.",
"operationId": "approve_concepts_unit_definitions__unit_definition_uid__approvals_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "unit_definition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of unit definition.",
"title": "Unit Definition Uid"
},
"description": "The unique id of unit definition."
}
],
"responses": {
"201": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The unit definition is not in draft status.\n- The library doesn't allow to approve drafts.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The unit definition with the specified 'unit_definition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/concepts/unit-definitions/{unit_definition_uid}/activations": {
"delete": {
"tags": [
"Unit Definitions"
],
"summary": "Inactivates/deactivates the unit definition identified by 'unit_definition_uid'.",
"description": "This request is only valid if the unit definition\n* is in 'Final' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Retired'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will remain the same as before.",
"operationId": "inactivate_concepts_unit_definitions__unit_definition_uid__activations_delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "unit_definition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of unit definition.",
"title": "Unit Definition Uid"
},
"description": "The unique id of unit definition."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The unit definition is not in final status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The unit definition with the specified 'unit_definition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"post": {
"tags": [
"Unit Definitions"
],
"summary": "Reactivates the unit definition identified by 'unit_definition_uid'.",
"description": "This request is only valid if the unit definition\n* is in 'Retired' status only (so no latest 'Draft' status exists).\n\nIf the request succeeds:\n* The status will be automatically set to 'Final'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will remain the same as before.",
"operationId": "reactivate_concepts_unit_definitions__unit_definition_uid__activations_post",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "unit_definition_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of unit definition.",
"title": "Unit Definition Uid"
},
"description": "The unique id of unit definition."
}
],
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnitDefinitionModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The unit definition is not in retired status.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The concept with the specified 'unit_definition_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/metadata": {
"get": {
"tags": [
"Listing Metadata"
],
"summary": "Metadata for datasets",
"operationId": "get_metadata_listings_metadata_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "dataset_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "Optional parameter to specify which legacy dataset(s) to get metadata for. Multiple datasets are separated by commas",
"title": "Dataset Name"
},
"description": "Optional parameter to specify which legacy dataset(s) to get metadata for. Multiple datasets are separated by commas"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_MetaData_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/metadata/headers": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_values_for_header_listings_metadata_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Values For Header Listings Metadata Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/topic-cd-def": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "List library metadata for Activities in the legacy format for CDW-MMA General Clinical Metadata",
"description": "Response format:\n\n- In addition to retrieving data in JSON format (default behaviour), \nit is possible to request data to be returned in CSV, XML or Excel formats \nby sending the `Accept` http request header with one of the following values:\n - `text/csv`\n\n - `text/xml`\n\n - `application/vnd.openxmlformats-officedocument.spreadsheetml.sheet`",
"operationId": "get_all_activities_report_listings_libraries_all_gcmd_topic_cd_def_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "at_specified_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "Optional parameter to specify the retrieve the status of the MDR at a specific timepoint, ISO Format with timezone, compatible with Neo4j e.g. 2021-01-01T09:00:00Z",
"title": "At Specified Date Time"
},
"description": "Optional parameter to specify the retrieve the status of the MDR at a specific timepoint, ISO Format with timezone, compatible with Neo4j e.g. 2021-01-01T09:00:00Z"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_TopicCdDef_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/topic-cd-def/headers": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_topic_cd_def_values_for_header_listings_libraries_all_gcmd_topic_cd_def_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Topic Cd Def Values For Header Listings Libraries All Gcmd Topic Cd Def Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/cdisc-ct-ver": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "CDW-MMA legacy dataset cdisc_ct_ver",
"operationId": "get_cdisc_ct_ver_data_listings_libraries_all_gcmd_cdisc_ct_ver_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned. Multiple catalogues are separated by commas e.g. ADAM CT, SDTM CT",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned. Multiple catalogues are separated by commas e.g. ADAM CT, SDTM CT"
},
{
"name": "after_specified_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from packages with effective date after this date are returned.Date must be in ISO format e.g. 2021-01-01",
"title": "After Specified Date"
},
"description": "If specified, only codelists from packages with effective date after this date are returned.Date must be in ISO format e.g. 2021-01-01"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CDISCCTVer_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/cdisc-ct-ver/headers": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_cdisc_ct_ver_values_for_header_listings_libraries_all_gcmd_cdisc_ct_ver_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Cdisc Ct Ver Values For Header Listings Libraries All Gcmd Cdisc Ct Ver Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/cdisc-ct-pkg": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "CDW-MMA legacy dataset cdisc_ct_pkg",
"operationId": "get_cdisc_ct_pkg_data_listings_libraries_all_gcmd_cdisc_ct_pkg_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned. Multiple catalogues are separated by commas e.g. ADAM CT, SDTM CT",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned. Multiple catalogues are separated by commas e.g. ADAM CT, SDTM CT"
},
{
"name": "after_specified_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from packages with effective date after this date are returned.Date must be in ISO format e.g. 2021-01-01",
"title": "After Specified Date"
},
"description": "If specified, only codelists from packages with effective date after this date are returned.Date must be in ISO format e.g. 2021-01-01"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CDISCCTPkg_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/cdisc-ct-pkg/headers": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_cdisc_ct_pkg_values_for_header_listings_libraries_all_gcmd_cdisc_ct_pkg_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Cdisc Ct Pkg Values For Header Listings Libraries All Gcmd Cdisc Ct Pkg Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/cdisc-ct-list": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "CDW-MMA legacy dataset cdisc_ct_list",
"operationId": "get_cdisc_ct_list_data_listings_libraries_all_gcmd_cdisc_ct_list_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given catalogue are returned. Multiple catalogues are separated by commas e.g. ADAM CT, SDTM CT",
"title": "Catalogue Name"
},
"description": "If specified, only codelists from given catalogue are returned. Multiple catalogues are separated by commas e.g. ADAM CT, SDTM CT"
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from given package are returned.Multiple packages are separated by commas e.g. SDTM CT 2021-06-25, SDTM CT 2021-09-24",
"title": "Package"
},
"description": "If specified, only codelists from given package are returned.Multiple packages are separated by commas e.g. SDTM CT 2021-06-25, SDTM CT 2021-09-24"
},
{
"name": "after_specified_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelists from packages with effective date after this date are returned.Date must be in ISO format e.g. 2021-01-01",
"title": "After Specified Date"
},
"description": "If specified, only codelists from packages with effective date after this date are returned.Date must be in ISO format e.g. 2021-01-01"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CDISCCTList_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/cdisc-ct-list/headers": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_cdisc_ct_list_values_for_header_listings_libraries_all_gcmd_cdisc_ct_list_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Cdisc Ct List Values For Header Listings Libraries All Gcmd Cdisc Ct List Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/cdisc-ct-val": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "CDW-MMA legacy dataset cdisc_ct_val",
"operationId": "get_cdisc_ct_val_data_listings_libraries_all_gcmd_cdisc_ct_val_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "catalogue_name",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelist values from given catalogue are returned. Multiple catalogues are separated by commas e.g. ADAM CT, SDTM CT",
"title": "Catalogue Name"
},
"description": "If specified, only codelist values from given catalogue are returned. Multiple catalogues are separated by commas e.g. ADAM CT, SDTM CT"
},
{
"name": "package",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelist values from given package are returned.Multiple packages are separated by commas e.g. SDTM CT 2021-06-25, SDTM CT 2021-09-24",
"title": "Package"
},
"description": "If specified, only codelist values from given package are returned.Multiple packages are separated by commas e.g. SDTM CT 2021-06-25, SDTM CT 2021-09-24"
},
{
"name": "after_specified_date",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, only codelist values from packages with effective date after this date are returned.Date must be in ISO format e.g. 2021-01-01",
"title": "After Specified Date"
},
"description": "If specified, only codelist values from packages with effective date after this date are returned.Date must be in ISO format e.g. 2021-01-01"
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_CDISCCTVal_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/libraries/all/gcmd/cdisc-ct-val/headers": {
"get": {
"tags": [
"Listing Legacy CDW MMA"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_cdisc_ct_val_values_for_header_listings_libraries_all_gcmd_cdisc_ct_val_headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Cdisc Ct Val Values For Header Listings Libraries All Gcmd Cdisc Ct Val Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - Invalid field name specified",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/{study_uid}/sdtm/tv": {
"get": {
"tags": [
"SDTM Study Design Listings"
],
"summary": "SDTM TV domain listing",
"operationId": "get_tv_listings_studies__study_uid__sdtm_tv_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Return study visit data of a given study in SDTM TV domain format.",
"title": "Study Uid"
},
"description": "Return study visit data of a given study in SDTM TV domain format."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyVisitListing_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/{study_uid}/sdtm/ta": {
"get": {
"tags": [
"SDTM Study Design Listings"
],
"summary": "SDTM TA domain listing",
"operationId": "get_ta_listings_studies__study_uid__sdtm_ta_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Return study arm data of a given study number in SDTM TA domain format.",
"title": "Study Uid"
},
"description": "Return study arm data of a given study number in SDTM TA domain format."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyArmListing_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/{study_uid}/sdtm/ti": {
"get": {
"tags": [
"SDTM Study Design Listings"
],
"summary": "SDTM TI domain listing",
"operationId": "get_ti_listings_studies__study_uid__sdtm_ti_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Return study criterion data of a given study in SDTM TI domain format.",
"title": "Study Uid"
},
"description": "Return study criterion data of a given study in SDTM TI domain format."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyCriterionListing_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/{study_uid}/sdtm/ts": {
"get": {
"tags": [
"SDTM Study Design Listings"
],
"summary": "SDTM TS domain listing",
"operationId": "get_ts_listings_studies__study_uid__sdtm_ts_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Return study summary data of a given study in SDTM TS domain format.",
"title": "Study Uid"
},
"description": "Return study summary data of a given study in SDTM TS domain format."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudySummaryListing_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/{study_uid}/sdtm/te": {
"get": {
"tags": [
"SDTM Study Design Listings"
],
"summary": "SDTM TE domain listing",
"operationId": "get_te_listings_studies__study_uid__sdtm_te_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Return study element data of a given study number in SDTM TE domain format.",
"title": "Study Uid"
},
"description": "Return study element data of a given study number in SDTM TE domain format."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyElementListing_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/{study_uid}/sdtm/tdm": {
"get": {
"tags": [
"SDTM Study Design Listings"
],
"summary": "SDTM TDM domain listing",
"operationId": "get_tdm_listings_studies__study_uid__sdtm_tdm_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Return study disease milestone data of a given study number in SDTM TDM domain format.",
"title": "Study Uid"
},
"description": "Return study disease milestone data of a given study number in SDTM TDM domain format."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_StudyDiseaseMilestoneListing_"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/{study_uid}/adam/{adam_report}": {
"get": {
"tags": [
"ADaM Study Design Listings"
],
"summary": "ADaM report listing, could be MDVISIT or MDENDPT as specified on adam_report",
"operationId": "get_adam_listing_listings_studies__study_uid__adam__adam_report__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "adam_report",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/AdamReport",
"description": "specifies the report to be delivered"
},
"description": "specifies the report to be delivered"
},
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Return study data of a given study and for a given ADaM report domain format.",
"title": "Study Uid"
},
"description": "Return study data of a given study and for a given ADaM report domain format."
},
{
"name": "sort_by",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n",
"title": "Sort By"
},
"description": "\nJSON dictionary of field names and boolean flags specifying the sort order. Supported values for sort order are:\n- `true` - ascending order\n\n- `false` - descending order\n\n\nDefault: `{}` (no sorting).\n\nFormat: `{\"field_1\": true, \"field_2\": false, ...}`.\n\nFunctionality: Sorts the results by `field_1` with sort order indicated by its boolean value, then by `field_2` etc.\n\nExample: `{\"topic_code\": true, \"name\": false}` sorts the returned list by `topic_code ascending`, then by `name descending`.\n"
},
{
"name": "page_number",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000000000,
"minimum": 1,
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n",
"default": 1,
"title": "Page Number"
},
"description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, selects a page to retrieve for paginated results.\n\nErrors: `page_size` not provided, `page_number` must be equal or greater than 1.\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"maximum": 1000,
"minimum": 0,
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n",
"default": 10,
"title": "Page Size"
},
"description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of results per page.\n\nIn case the value is set to `0`, all rows will be returned.\n\nErrors: `page_number` not provided.\n"
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "total_count",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page.",
"default": false,
"title": "Total Count"
},
"description": "Boolean flag to include the total count of entities in the response.\n\nDefault: `false`\n\nFunctionality: When set to `true`, returns the total number of entities that match the query.\n\nWhen combined with filters, the count reflects only the entities matching those filters.\n\nNote: This operation can be expensive for large datasets.\n\nSpecial case: A value of `-1` indicates that the exact count is unavailable due to performance constraints, but confirms that at least one more entity exists beyond the current page."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomPage_Union_StudyVisitAdamListing__StudyEndpntAdamListing__FlowchartMetadataAdamListing__"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/{study_uid}/adam/{adam_report}/headers": {
"get": {
"tags": [
"ADaM Study Design Listings"
],
"summary": "Returns possible values from the database for a given header",
"description": "Allowed parameters include : field name for which to get possible\n values, search string to provide filtering for the field name, additional filters to apply on other fields",
"operationId": "get_distinct_adam_listing_values_for_header_listings_studies__study_uid__adam__adam_report__headers_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "adam_report",
"in": "path",
"required": true,
"schema": {
"$ref": "#/components/schemas/AdamReport",
"description": "specifies the report to be delivered"
},
"description": "specifies the report to be delivered"
},
{
"name": "study_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "Return study data of a given study and for a given ADaM report domain format.",
"title": "Study Uid"
},
"description": "Return study data of a given study and for a given ADaM report domain format."
},
{
"name": "field_name",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified",
"title": "Field Name"
},
"description": "The field name for which to lookup possible values in the database.\n\nFunctionality: searches for possible values (aka 'headers') of this field in the database.Errors: invalid field name specified"
},
{
"name": "search_string",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string.",
"default": "",
"title": "Search String"
},
"description": "Optionally, a (part of the) text for a given field.\nThe query result will be values of the field that contain the provided search string."
},
{
"name": "filters",
"in": "query",
"required": false,
"schema": {
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"title": "Filters"
},
"description": "\nJSON dictionary of field names and search strings, with a choice of operators for building complex filtering queries.\n\nDefault: `{}` (no filtering).\n\nFunctionality: filters the queried entities based on the provided search strings and operators.\n\nFormat:\n`{\"field_name\":{\"v\":[\"search_str_1\", \"search_str_1\"], \"op\":\"comparison_operator\"}, \"other_field_name\":{...}}`\n\n- `v` specifies the list of values to match against the specified `field_name` field\n\n - If multiple values are provided in the `v` list, a logical OR filtering operation will be performed using these values.\n\n- `op` specifies the type of string match/comparison operation to perform on the specified `field_name` field. Supported values are:\n\n - `eq` (default, equals)\n\n - `ne` (not equals)\n\n - `co` (string contains)\n\n - `ge` (greater or equal to)\n\n - `gt` (greater than)\n\n - `le` (less or equal to)\n\n - `lt` (less than)\n\n - `bw` (between - exactly two values are required)\n\n - `in` (value in list).\n\n\nNote that filtering can also be performed on non-string field types. \nFor example, this works as filter on a boolean field: `{\"is_global_standard\": {\"v\": [false]}}`.\n\n\nWildcard filtering is also supported. To do this, provide `*` value for `field_name`, for example: `{\"*\":{\"v\":[\"search_string\"]}}`.\n\nWildcard only supports string search (with implicit `contains` operator) on fields of type string.\n\n\nFinally, you can filter on items that have an empty value for a field. To achieve this, set the value of `v` list to an empty array - `[]`.\n\n\nComplex filtering example:\n\n`{\"name\":{\"v\": [\"Jimbo\", \"Jumbo\"], \"op\": \"co\"}, \"start_date\": {\"v\": [\"2021-04-01T12:00:00+00.000\"], \"op\": \"ge\"}, \"*\":{\"v\": [\"wildcard_search\"], \"op\": \"co\"}}`\n\n",
"examples": {
"none": {
"summary": "No Filters",
"description": "No filters are applied.",
"value": "{}"
},
"wildcard": {
"summary": "Wildcard Filter",
"description": "Apply a wildcard filter.",
"value": "{\"*\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid__contains": {
"summary": "Partial Match on UID",
"description": "Apply a filter to display records **containing** specified UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"uid": {
"summary": "Exact Match on UID",
"description": "Apply a filter to display only those records with **exact** matching UIDs.",
"value": "{\"uid\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
},
"name__contains": {
"summary": "Partial Match on Name",
"description": "Apply a filter to display records **containing** specified names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"co\"}}"
},
"name": {
"summary": "Exact Match on Name",
"description": "Apply a filter to display only those records with **exact** matching names.",
"value": "{\"name\":{ \"v\": [\"\"], \"op\": \"eq\"}}"
}
}
},
{
"name": "operator",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n",
"default": "and",
"title": "Operator"
},
"description": "Specifies which logical operation - `and` or `or` - should be used in case filtering is done on several fields.\n\nDefault: `and` (all fields have to match their filter).\n\nFunctionality: `and` will return entities having all filters matching, `or` will return entities with any matches.\n\n"
},
{
"name": "page_size",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Optionally, the number of results to return. Default = 10.",
"default": 10,
"title": "Page Size"
},
"description": "Optionally, the number of results to return. Default = 10."
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {},
"title": "Response Get Distinct Adam Listing Values For Header Listings Studies Study Uid Adam Adam Report Headers Get"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Entity not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/listings/studies/study-metadata": {
"get": {
"tags": [
"Study Design Listings"
],
"summary": "Retrieve study metadata of a specific study",
"operationId": "get_study_metadata_listings_studies_study_metadata_get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "project_id",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Project ID of study requested",
"title": "Project Id"
},
"description": "Project ID of study requested"
},
{
"name": "study_number",
"in": "query",
"required": true,
"schema": {
"type": "string",
"description": "Study number of study requested",
"title": "Study Number"
},
"description": "Study number of study requested"
},
{
"name": "subpart_acronym",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "subpart, if exists, of study requested",
"title": "Subpart Acronym"
},
"description": "subpart, if exists, of study requested"
},
{
"name": "study_value_version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"pattern": "^[0-9]+\\.?[0-9]*$"
},
{
"type": "null"
}
],
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ...",
"title": "Study Value Version"
},
"description": "If specified, study data with specified version is returned.\n\n Only exact matches are considered. \n\n E.g. 1, 2, 2.1, ..."
},
{
"name": "datetime",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, study data with latest released version of specified datetime is returned. format in YYYY-MM-DDThh:mm:ssZ. ",
"title": "Datetime"
},
"description": "If specified, study data with latest released version of specified datetime is returned. format in YYYY-MM-DDThh:mm:ssZ. "
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "string",
"$ref": "#/components/schemas/StudyMetadataListingModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - No study with the specified study ID.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
}
},
"/configurations": {
"get": {
"tags": [
"Configurations"
],
"summary": "Returns all configurations in their latest/newest version.",
"operationId": "get_all_configurations_get",
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/CTConfigOGM"
},
"type": "array",
"title": "Response Get All Configurations Get"
}
},
"text/csv": {
"example": "\n\"uid\",\"name\",\"start_date\",\"end_date\",\"status\",\"version\",\"change_description\",\"author_username\"\n\"826d80a7-0b6a-419d-8ef1-80aa241d7ac7\",\"First [ComparatorIntervention]\",\"2020-10-22T10:19:29+00:00\",,\"Draft\",\"0.1\",\"Initial version\",\"NdSJ\"\n"
},
"text/xml": {
"example": "\n - e9117175-918f-489e-9a6e-65e0025233a6Alamakota2020-11-19T11:51:43.000ZDraft0.2Testsomeone@example.com
\n"
},
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": {}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
},
"post": {
"tags": [
"Configurations"
],
"summary": "Creates a new configuration in 'Draft' status.",
"description": "If the request succeeds:\n* The status will be automatically set to 'Draft'.\n* The 'change_description' property will be set automatically.\n* The 'version' property will be set to '0.1'.",
"operationId": "post_configurations_post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTConfigPostInput",
"description": "The configuration that shall be created."
}
}
},
"required": true
},
"responses": {
"201": {
"description": "Created - The configuration was successfully created.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTConfigModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The configuration name is not valid.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
},
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
]
}
},
"/configurations/{configuration_uid}": {
"get": {
"tags": [
"Configurations"
],
"summary": "Returns the latest/newest version of a specific configuration identified by 'configuration_uid'.",
"description": "If multiple request query parameters are used, then they need to\n match all at the same time (they are combined with the AND operation).",
"operationId": "get_by_uid_configurations__configuration_uid__get",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "configuration_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of configuration.",
"title": "Configuration Uid"
},
"description": "The unique id of configuration."
},
{
"name": "at_specified_date_time",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string",
"format": "date-time"
},
{
"type": "null"
}
],
"description": "If specified, the latest/newest representation of the configuration at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. ",
"title": "At Specified Date Time"
},
"description": "If specified, the latest/newest representation of the configuration at this point in time is returned.\nThe point in time needs to be specified in ISO 8601 format including the timezone, e.g.: '2020-10-31T16:00:00+02:00' for October 31, 2020 at 4pm in UTC+2 timezone. "
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"$ref": "#/components/schemas/LibraryItemStatus"
},
{
"type": "null"
}
],
"description": "If specified, the representation of the configuration in that status is returned (if existent). This may be particularly useful if the configuration has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'.",
"title": "Status"
},
"description": "If specified, the representation of the configuration in that status is returned (if existent). This may be particularly useful if the configuration has a) a 'Draft' and a 'Final' status or b) a 'Draft' and a 'Retired' status at the same time and you are interested in the 'Final' or 'Retired' status.\nValid values are: 'Final', 'Draft' or 'Retired'."
},
{
"name": "version",
"in": "query",
"required": false,
"schema": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"description": "If specified, the latest/newest representation of the configuration is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ...",
"title": "Version"
},
"description": "If specified, the latest/newest representation of the configuration is returned. Only exact matches are considered. The version is specified in the following format: \\.\\ where \\ and \\ are digits. E.g. '0.1', '0.2', '1.0', ..."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTConfigModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The configuration with the specified 'configuration_uid'\n (and the specified date/time, version and/or status) wasn't found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"patch": {
"tags": [
"Configurations"
],
"summary": "Updates the configuration identified by 'configuration_uid'.",
"description": "This request is only valid if the configuration\n* is in 'Draft' status and\n\nIf the request succeeds:\n* The 'version' property will be increased automatically by +0.1.\n* The status will remain in 'Draft'.",
"operationId": "patch_configurations__configuration_uid__patch",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "configuration_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of configuration.",
"title": "Configuration Uid"
},
"description": "The unique id of configuration."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTConfigPatchInput",
"description": "The new content of the configuration including the change description."
}
}
}
},
"responses": {
"200": {
"description": "OK.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CTConfigModel"
}
}
}
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The configuration is not in draft status.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - The configuration with the specified 'configuration_uid' could not be found.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
}
}
},
"delete": {
"tags": [
"Configurations"
],
"summary": "Deletes the configuration identified by 'configuration_uid'.",
"description": "This request is only valid if \n\n* the configuration is in 'Draft' status and\n* the configuration has never been in 'Final' status.",
"operationId": "delete_configurations__configuration_uid__delete",
"security": [
{
"OAuth2AuthorizationCodeBearer": []
},
{
"BearerJwtAuth": []
}
],
"parameters": [
{
"name": "configuration_uid",
"in": "path",
"required": true,
"schema": {
"type": "string",
"description": "The unique id of configuration.",
"title": "Configuration Uid"
},
"description": "The unique id of configuration."
}
],
"responses": {
"204": {
"description": "No Content - The configuration was successfully deleted."
},
"403": {
"description": "Forbidden",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"400": {
"description": "Forbidden - Reasons include e.g.: \n- The configuration is not in draft status.\n- The configuration was already in final state or is in use.\n",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ErrorResponse"
}
}
}
},
"404": {
"description": "Not Found - An configuration with the specified uid could not be found.",
"content": {
"application/json": {
"schem