{ "openapi": "3.0.2", "info": { "title": "Clinical MDR 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) 2022 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 API endpoints must provide a valid bearer (JWT) token inside the `Authorization` http header. \n\n## System information:\n\nSystem information is provided by a separate [System Information](./system/docs) sub-app which does not require authentication.\n", "version": "3.0.356" }, "paths": { "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/feature-flags": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ] } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ] } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Study Events" ], "summary": "Delete draft version of ODM Study Event", "operationId": "delete_odm_study_event_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Study Events" ], "summary": "Reactivate retired version of a ODM Study Event", "operationId": "reactivate_odm_study_event_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": "If true, all existing form relationships will be replaced with the provided form relationships.", "default": false, "title": "Override" }, "description": "If true, all existing form relationships will be replaced with the provided form relationships." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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": [] } ] } }, "/concepts/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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "patch": { "tags": [ "ODM Forms" ], "summary": "Update ODM Form", "operationId": "edit_odm_form_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Forms" ], "summary": "Delete draft version of ODM Form", "operationId": "delete_odm_form_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/forms/{odm_form_uid}/relationships": { "get": { "tags": [ "ODM Forms" ], "summary": "Get UIDs of a specific ODM Form's relationships", "operationId": "get_active_relationships_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/forms/{odm_form_uid}/approvals": { "post": { "tags": [ "ODM Forms" ], "summary": "Approve draft version of ODM Form", "operationId": "approve_odm_form_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/forms/{odm_form_uid}/activations": { "delete": { "tags": [ "ODM Forms" ], "summary": " Inactivate final version of ODM Form", "operationId": "inactivate_odm_form_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Forms" ], "summary": "Reactivate retired version of a ODM Form", "operationId": "reactivate_odm_form_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/forms/{odm_form_uid}/activity-groups": { "post": { "tags": [ "ODM Forms" ], "summary": "Adds activity groups to the ODM Form.", "operationId": "add_activity_groups_to_odm_form_concepts_odms_forms__odm_form_uid__activity_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": "If true, all existing activity group relationships will be replaced with the provided activity group relationships.", "default": false, "title": "Override" }, "description": "If true, all existing activity group relationships will be replaced with the provided activity group relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmFormActivityGroupPostInput" }, "title": "Odm Form Activity Group Post Input" } } } }, "responses": { "201": { "description": "Created - The activity 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 activity groups with the specified 'odm_form_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": "If true, all existing item group relationships will be replaced with the provided item group relationships.", "default": false, "title": "Override" }, "description": "If true, all existing item group relationships will be replaced with the provided item group relationships." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/forms/{odm_form_uid}/vendor-elements": { "post": { "tags": [ "ODM Forms" ], "summary": "Adds ODM Vendor Elements to the ODM Form.", "operationId": "add_vendor_elements_to_odm_form_concepts_odms_forms__odm_form_uid__vendor_elements_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": "If true, all existing ODM Vendor Element relationships will be replaced with the provided ODM Vendor Element relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Element relationships will be replaced with the provided ODM Vendor Element relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorElementRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Elements 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 ODM Vendor Elements with the specified 'odm_form_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/forms/{odm_form_uid}/vendor-attributes": { "post": { "tags": [ "ODM Forms" ], "summary": "Adds ODM Vendor Attributes to the ODM Form.", "operationId": "add_vendor_attributes_to_odm_form_concepts_odms_forms__odm_form_uid__vendor_attributes_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": "If true, all existing ODM Vendor Attribute relationships will\n be replaced with the provided ODM Vendor Attribute relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Attribute relationships will\n be replaced with the provided ODM Vendor Attribute relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Attributes 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 ODM Vendor Attributes with the specified 'odm_form_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/forms/{odm_form_uid}/vendor-element-attributes": { "post": { "tags": [ "ODM Forms" ], "summary": "Adds ODM Vendor Element attributes to the ODM Form.", "operationId": "add_vendor_element_attributes_to_odm_form_concepts_odms_forms__odm_form_uid__vendor_element_attributes_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": "If true, all existing ODM Vendor Element attribute relationships\n will be replaced with the provided ODM Vendor Element attribute relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Element attribute relationships\n will be replaced with the provided ODM Vendor Element attribute relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Element attributes 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 ODM Vendor Element attributes with the specified 'odm_form_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/forms/{odm_form_uid}/vendors": { "post": { "tags": [ "ODM Forms" ], "summary": "Manages all ODM Vendors by replacing existing ODM Vendors by provided ODM Vendors.", "operationId": "manage_vendors_of_odm_form_concepts_odms_forms__odm_form_uid__vendors_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." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmVendorsPostInput" } } } }, "responses": { "201": { "description": "Created - The ODM Vendors 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 ODM Vendors with the specified 'odm_form_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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": [] } ] } }, "/concepts/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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Item Groups" ], "summary": "Delete draft version of ODM Item Group", "operationId": "delete_odm_item_group_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Item Groups" ], "summary": "Reactivate retired version of a ODM Item Group", "operationId": "reactivate_odm_item_group_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/item-groups/{odm_item_group_uid}/activity-sub-groups": { "post": { "tags": [ "ODM Item Groups" ], "summary": "Adds activity sub groups to the ODM Item Group.", "operationId": "add_activity_subgroups_to_odm_item_group_concepts_odms_item_groups__odm_item_group_uid__activity_sub_groups_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": "If true, all existing activity sub group relationships will be replaced with the provided activity sub group relationships.", "default": false, "title": "Override" }, "description": "If true, all existing activity sub group relationships will be replaced with the provided activity sub group relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmItemGroupActivitySubGroupPostInput" }, "title": "Odm Item Group Activity Subgroup Post Input" } } } }, "responses": { "201": { "description": "Created - The activity sub groups 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 activity sub groups with the specified 'odm_item_group_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": "If true, all existing item relationships will be replaced with the provided item relationships.", "default": false, "title": "Override" }, "description": "If true, all existing item relationships will be replaced with the provided item relationships." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/item-groups/{odm_item_group_uid}/vendor-elements": { "post": { "tags": [ "ODM Item Groups" ], "summary": "Adds ODM Vendor Elements to the ODM Item Group.", "operationId": "add_vendor_elements_to_odm_item_group_concepts_odms_item_groups__odm_item_group_uid__vendor_elements_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": "If true, all existing ODM Vendor Element relationships will be replaced with the provided ODM Vendor Element relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Element relationships will be replaced with the provided ODM Vendor Element relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorElementRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Elements 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 ODM Vendor Elements with the specified 'odm_item_group_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/item-groups/{odm_item_group_uid}/vendor-attributes": { "post": { "tags": [ "ODM Item Groups" ], "summary": "Adds ODM Vendor Attributes to the ODM Item Group.", "operationId": "add_vendor_attributes_to_odm_item_group_concepts_odms_item_groups__odm_item_group_uid__vendor_attributes_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": "If true, all existing ODM Vendor Attribute relationships will be replaced with the provided ODM Vendor Attribute relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Attribute relationships will be replaced with the provided ODM Vendor Attribute relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Attributes 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 ODM Vendor Attributes with the specified 'odm_item_group_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/item-groups/{odm_item_group_uid}/vendor-element-attributes": { "post": { "tags": [ "ODM Item Groups" ], "summary": "Adds ODM Vendor Element attributes to the ODM Item Group.", "operationId": "add_vendor_element_attributes_to_odm_item_group_concepts_odms_item_groups__odm_item_group_uid__vendor_element_attributes_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": "If true, all existing ODM Vendor Element attribute relationships will be replaced with the provided ODM Vendor Element attribute relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Element attribute relationships will be replaced with the provided ODM Vendor Element attribute relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Element attributes 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 ODM Vendor Element attributes with the specified 'odm_item_group_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/item-groups/{odm_item_group_uid}/vendors": { "post": { "tags": [ "ODM Item Groups" ], "summary": "Manages all ODM Vendors by replacing existing ODM Vendors by provided ODM Vendors.", "operationId": "manage_vendors_of_odm_item_group_concepts_odms_item_groups__odm_item_group_uid__vendors_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." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmVendorsPostInput" } } } }, "responses": { "201": { "description": "Created - The ODM Vendors were successfully added to the ODM Item Group.", "content": { "application/json": { "schema": {} } } }, "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 ODM Vendors with the specified 'odm_item_group_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items": { "get": { "tags": [ "ODM Item" ], "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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "post": { "tags": [ "ODM Item" ], "summary": "Creates a new Item in 'Draft' status with version 0.1", "operationId": "create_odm_item_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/headers": { "get": { "tags": [ "ODM Item" ], "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_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/items/item-groups": { "get": { "tags": [ "ODM Item" ], "summary": "Get all ODM Items that belongs to an ODM Item Group", "operationId": "get_odm_items_that_belongs_to_item_group_concepts_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 Concepts 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": [] } ] } }, "/concepts/odms/items/{odm_item_uid}": { "get": { "tags": [ "ODM Item" ], "summary": "Get details on a specific ODM Item (in a specific version)", "operationId": "get_odm_item_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "patch": { "tags": [ "ODM Item" ], "summary": "Update ODM Item", "operationId": "edit_odm_item_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Item" ], "summary": "Delete draft version of ODM Item", "operationId": "delete_odm_item_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/relationships": { "get": { "tags": [ "ODM Item" ], "summary": "Get UIDs of a specific ODM Item's relationships", "operationId": "get_active_relationships_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/versions": { "get": { "tags": [ "ODM Item" ], "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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "post": { "tags": [ "ODM Item" ], "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/approvals": { "post": { "tags": [ "ODM Item" ], "summary": "Approve draft version of ODM Item", "operationId": "approve_odm_item_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/activations": { "delete": { "tags": [ "ODM Item" ], "summary": " Inactivate final version of ODM Item", "operationId": "inactivate_odm_item_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Item" ], "summary": "Reactivate retired version of a ODM Item", "operationId": "reactivate_odm_item_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/activities": { "post": { "tags": [ "ODM Item" ], "summary": "Add an activity to the ODM Item.", "operationId": "add_activity_to_odm_item_concepts_odms_items__odm_item_uid__activities_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." }, { "name": "override", "in": "query", "required": false, "schema": { "type": "boolean", "description": "If true, the existing activity relationship will be replaced with the provided activity relationship.", "default": false, "title": "Override" }, "description": "If true, the existing activity relationship will be replaced with the provided activity relationship." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmItemActivityPostInput" } } } }, "responses": { "201": { "description": "Created - The activity was successfully added to the ODM Item.", "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", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The activity with the specified 'odm_item_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/vendor-elements": { "post": { "tags": [ "ODM Item" ], "summary": "Adds ODM Vendor Elements to the ODM Item.", "operationId": "add_vendor_elements_to_odm_item_concepts_odms_items__odm_item_uid__vendor_elements_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." }, { "name": "override", "in": "query", "required": false, "schema": { "type": "boolean", "description": "If true, all existing ODM Vendor Element relationships will be replaced with the provided ODM Vendor Element relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Element relationships will be replaced with the provided ODM Vendor Element relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorElementRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Elements were successfully added to the ODM Item.", "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", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Vendor Elements with the specified 'odm_item_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/vendor-attributes": { "post": { "tags": [ "ODM Item" ], "summary": "Adds ODM Vendor Attributes to the ODM Item.", "operationId": "add_vendor_attributes_to_odm_item_concepts_odms_items__odm_item_uid__vendor_attributes_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." }, { "name": "override", "in": "query", "required": false, "schema": { "type": "boolean", "description": "If true, all existing ODM Vendor Attribute relationships will be replaced with the provided ODM Vendor Attribute relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Attribute relationships will be replaced with the provided ODM Vendor Attribute relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Attributes were successfully added to the ODM Item.", "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", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Vendor Attributes with the specified 'odm_item_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/vendor-element-attributes": { "post": { "tags": [ "ODM Item" ], "summary": "Adds ODM Vendor Element attributes to the ODM Item.", "operationId": "add_vendor_element_attributes_to_odm_item_concepts_odms_items__odm_item_uid__vendor_element_attributes_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." }, { "name": "override", "in": "query", "required": false, "schema": { "type": "boolean", "description": "If true, all existing ODM Vendor Element attribute relationships will be replaced with the provided ODM Vendor Element attribute relationships.", "default": false, "title": "Override" }, "description": "If true, all existing ODM Vendor Element attribute relationships will be replaced with the provided ODM Vendor Element attribute relationships." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmVendorRelationPostInput" }, "title": "Odm Vendor Relation Post Input" } } } }, "responses": { "201": { "description": "Created - The ODM Vendor Element attributes were successfully added to the ODM Item.", "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", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Vendor Element attributes with the specified 'odm_item_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/items/{odm_item_uid}/vendors": { "post": { "tags": [ "ODM Item" ], "summary": "Manages all ODM Vendors by replacing existing ODM Vendors by provided ODM Vendors.", "operationId": "manage_vendors_of_odm_item_group_concepts_odms_items__odm_item_uid__vendors_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." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmVendorsPostInput" } } } }, "responses": { "201": { "description": "Created - The ODM Vendors were successfully added to the ODM Item.", "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", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Vendors with the specified 'odm_item_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "patch": { "tags": [ "ODM Conditions" ], "summary": "Update ODM Condition", "operationId": "edit_odm_condition_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Conditions" ], "summary": "Delete draft version of ODM Condition", "operationId": "delete_odm_condition_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/conditions/{odm_condition_uid}/relationships": { "get": { "tags": [ "ODM Conditions" ], "summary": "Get UIDs of a specific ODM Condition's relationships", "operationId": "get_active_relationships_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/conditions/{odm_condition_uid}/approvals": { "post": { "tags": [ "ODM Conditions" ], "summary": "Approve draft version of ODM Condition", "operationId": "approve_odm_condition_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/conditions/{odm_condition_uid}/activations": { "delete": { "tags": [ "ODM Conditions" ], "summary": " Inactivate final version of ODM Condition", "operationId": "inactivate_odm_condition_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Conditions" ], "summary": "Reactivate retired version of a ODM Condition", "operationId": "reactivate_odm_condition_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "patch": { "tags": [ "ODM Methods" ], "summary": "Update ODM Method", "operationId": "edit_odm_method_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Methods" ], "summary": "Delete draft version of ODM Method", "operationId": "delete_odm_method_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/methods/{odm_method_uid}/relationships": { "get": { "tags": [ "ODM Methods" ], "summary": "Get UIDs of a specific ODM Method's relationships", "operationId": "get_active_relationships_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/methods/{odm_method_uid}/approvals": { "post": { "tags": [ "ODM Methods" ], "summary": "Approve draft version of ODM Method", "operationId": "approve_odm_method_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/methods/{odm_method_uid}/activations": { "delete": { "tags": [ "ODM Methods" ], "summary": " Inactivate final version of ODM Method", "operationId": "inactivate_odm_method_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Methods" ], "summary": "Reactivate retired version of a ODM Method", "operationId": "reactivate_odm_method_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/formal-expressions": { "get": { "tags": [ "ODM Formal Expressions" ], "summary": "Return every variable related to the selected status and version of the ODM Formal Expressions", "operationId": "get_all_odm_formal_expressions_concepts_odms_formal_expressions_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomPage_OdmFormalExpression_" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Entity not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "post": { "tags": [ "ODM Formal Expressions" ], "summary": "Creates a new Form in 'Draft' status with version 0.1", "operationId": "create_odm_formal_expression_concepts_odms_formal_expressions_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpressionPostInput" } } } }, "responses": { "201": { "description": "Created - The ODM Formal Expression was successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpression" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/formal-expressions/headers": { "get": { "tags": [ "ODM Formal Expressions" ], "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_odms_formal_expressions_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 Odms Formal Expressions 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/formal-expressions/{odm_formal_expression_uid}": { "get": { "tags": [ "ODM Formal Expressions" ], "summary": "Get details on a specific ODM Formal Expression (in a specific version)", "operationId": "get_odm_formal_expression_concepts_odms_formal_expressions__odm_formal_expression_uid__get", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpression" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Entity not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "patch": { "tags": [ "ODM Formal Expressions" ], "summary": "Update ODM Formal Expression", "operationId": "edit_odm_formal_expression_concepts_odms_formal_expressions__odm_formal_expression_uid__patch", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpressionPatchInput" } } } }, "responses": { "200": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpression" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Formal Expression is not in draft status.\n- The ODM Formal Expression 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 Formal Expression with the specified 'odm_formal_expression_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Formal Expressions" ], "summary": "Delete draft version of ODM Formal Expression", "operationId": "delete_odm_formal_expression_concepts_odms_formal_expressions__odm_formal_expression_uid__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "responses": { "204": { "description": "No Content - The ODM Formal Expression was successfully deleted." }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Formal Expression is not in draft status.\n- The ODM Formal Expression was already in final state or is in use.\n- The library doesn't allow to delete ODM Formal Expression.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - An ODM Formal Expression with the specified 'odm_formal_expression_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/formal-expressions/{odm_formal_expression_uid}/relationships": { "get": { "tags": [ "ODM Formal Expressions" ], "summary": "Get UIDs of a specific ODM Formal Expression's relationships", "operationId": "get_active_relationships_concepts_odms_formal_expressions__odm_formal_expression_uid__relationships_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "title": "Response Get Active Relationships Concepts Odms Formal Expressions Odm Formal Expression 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/formal-expressions/{odm_formal_expression_uid}/versions": { "get": { "tags": [ "ODM Formal Expressions" ], "summary": "List version history for ODM Formal Expression", "description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Formal Expressions.\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_formal_expression_versions_concepts_odms_formal_expressions__odm_formal_expression_uid__versions_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmFormalExpression" }, "title": "Response Get Odm Formal Expression Versions Concepts Odms Formal Expressions Odm Formal Expression Uid Versions Get" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Formal Expression with the specified 'odm_formal_expression_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "post": { "tags": [ "ODM Formal Expressions" ], "summary": " Create a new version of ODM Formal Expression", "description": "State before:\n - uid must exist and the ODM Formal Expression must be in status Final.\n\nBusiness logic:\n- The ODM Formal Expression is changed to a draft state.\n\nState after:\n - ODM Formal Expression 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_formal_expression_version_concepts_odms_formal_expressions__odm_formal_expression_uid__versions_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "responses": { "201": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpression" } } } }, "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 Formal Expressions.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - Reasons include e.g.: \n- The ODM Formal Expression is not in final status.\n- The ODM Formal Expression with the specified 'odm_formal_expression_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/formal-expressions/{odm_formal_expression_uid}/approvals": { "post": { "tags": [ "ODM Formal Expressions" ], "summary": "Approve draft version of ODM Formal Expression", "operationId": "approve_odm_formal_expression_concepts_odms_formal_expressions__odm_formal_expression_uid__approvals_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "responses": { "201": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpression" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Formal Expression is not in draft status.\n- The library doesn't allow to approve ODM Formal Expression.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Formal Expression with the specified 'odm_formal_expression_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/formal-expressions/{odm_formal_expression_uid}/activations": { "delete": { "tags": [ "ODM Formal Expressions" ], "summary": " Inactivate final version of ODM Formal Expression", "operationId": "inactivate_odm_formal_expression_concepts_odms_formal_expressions__odm_formal_expression_uid__activations_delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "responses": { "200": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpression" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Formal Expression is not in final status.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Formal Expression with the specified 'odm_formal_expression_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Formal Expressions" ], "summary": "Reactivate retired version of a ODM Formal Expression", "operationId": "reactivate_odm_formal_expression_concepts_odms_formal_expressions__odm_formal_expression_uid__activations_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_formal_expression_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Formal Expression.", "title": "Odm Formal Expression Uid" }, "description": "The unique id of the ODM Formal Expression." } ], "responses": { "200": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmFormalExpression" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Formal Expression is not in retired status.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Formal Expression with the specified 'odm_formal_expression_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/descriptions": { "get": { "tags": [ "ODM Descriptions" ], "summary": "Return a listing of ODM Descriptions", "operationId": "get_all_odm_descriptions_concepts_odms_descriptions_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomPage_OdmDescription_" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Entity not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/descriptions/headers": { "get": { "tags": [ "ODM Descriptions" ], "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_odms_descriptions_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 Odms Descriptions 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/descriptions/{odm_description_uid}/relationships": { "get": { "tags": [ "ODM Descriptions" ], "summary": "Get UIDs of a specific ODM Description's relationships", "operationId": "get_active_relationships_concepts_odms_descriptions__odm_description_uid__relationships_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_description_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Description.", "title": "Odm Description Uid" }, "description": "The unique id of the ODM Description." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "title": "Response Get Active Relationships Concepts Odms Descriptions Odm Description 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/descriptions/{odm_description_uid}/versions": { "get": { "tags": [ "ODM Descriptions" ], "summary": "Return a listing of versions of a specific ODM Description", "description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM Descriptions.\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_description_versions_concepts_odms_descriptions__odm_description_uid__versions_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_description_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Description.", "title": "Odm Description Uid" }, "description": "The unique id of the ODM Description." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmDescription" }, "title": "Response Get Odm Description Versions Concepts Odms Descriptions Odm Description Uid Versions Get" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Description with the specified 'odm_description_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/aliases": { "get": { "tags": [ "ODM Aliases" ], "summary": "Return a listing of ODM Aliases", "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_aliases_concepts_odms_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomPage_OdmAlias_" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Entity not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "post": { "tags": [ "ODM Aliases" ], "summary": "Create a new ODM Alias", "operationId": "create_odm_alias_concepts_odms_aliases_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmAliasPostInput" } } } }, "responses": { "201": { "description": "Created - The ODM Alias was successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmAlias" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/aliases/headers": { "get": { "tags": [ "ODM Aliases" ], "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_odms_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 Odms 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/aliases/{odm_alias_uid}/relationships": { "get": { "tags": [ "ODM Aliases" ], "summary": "Get UIDs of a specific ODM Alias' relationships", "operationId": "get_active_relationships_concepts_odms_aliases__odm_alias_uid__relationships_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_alias_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Alias.", "title": "Odm Alias Uid" }, "description": "The unique id of the ODM Alias." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "object", "title": "Response Get Active Relationships Concepts Odms Aliases Odm Alias 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/aliases/{odm_alias_uid}/versions": { "get": { "tags": [ "ODM Aliases" ], "summary": "Return a listing of versions of a specific ODM Alias", "description": "State before:\n - uid must exist.\n\nBusiness logic:\n - List version history for ODM 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_odm_alias_versions_concepts_odms_aliases__odm_alias_uid__versions_get", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_alias_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Alias.", "title": "Odm Alias Uid" }, "description": "The unique id of the ODM Alias." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/OdmAlias" }, "title": "Response Get Odm Alias Versions Concepts Odms Aliases Odm Alias Uid Versions Get" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Alias with the specified 'odm_alias_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "post": { "tags": [ "ODM Aliases" ], "summary": "Create a new version of an ODM Alias", "description": "State before:\n - uid must exist and the ODM Alias must be in status Final.\n\nBusiness logic:\n- The ODM Alias is changed to a draft state.\n\nState after:\n - ODM Alias 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_alias_version_concepts_odms_aliases__odm_alias_uid__versions_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_alias_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Alias.", "title": "Odm Alias Uid" }, "description": "The unique id of the ODM Alias." } ], "responses": { "201": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmAlias" } } } }, "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 Aliases.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - Reasons include e.g.: \n- The ODM Alias is not in final status.\n- The ODM Alias with the specified 'odm_alias_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/aliases/batch": { "post": { "tags": [ "ODM Aliases" ], "summary": "Batch operations (create, edit) for ODM Aliases", "operationId": "odm_alias_batch_operations_concepts_odms_aliases_batch_post", "requestBody": { "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/OdmAliasBatchInput" }, "type": "array", "title": "Operations", "description": "List of operation to perform" } } }, "required": true }, "responses": { "207": { "description": "Successful Response", "content": { "application/json": { "schema": { "items": { "$ref": "#/components/schemas/OdmAliasBatchOutput" }, "type": "array", "title": "Response Odm Alias Batch Operations Concepts Odms Aliases 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ] } }, "/concepts/odms/aliases/{odm_alias_uid}": { "patch": { "tags": [ "ODM Aliases" ], "summary": "Update an ODM Alias", "operationId": "edit_odm_alias_concepts_odms_aliases__odm_alias_uid__patch", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_alias_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Alias.", "title": "Odm Alias Uid" }, "description": "The unique id of the ODM Alias." } ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmAliasPatchInput" } } } }, "responses": { "200": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmAlias" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Alias is not in draft status.\n- The ODM 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 ODM Alias with the specified 'odm_alias_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Aliases" ], "summary": "Delete draft version of ODM Alias", "operationId": "delete_odm_alias_concepts_odms_aliases__odm_alias_uid__delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_alias_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Alias.", "title": "Odm Alias Uid" }, "description": "The unique id of the ODM Alias." } ], "responses": { "204": { "description": "No Content - The ODM Alias was successfully deleted." }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Alias is not in draft status.\n- The ODM Alias was already in final state or is in use.\n- The library doesn't allow to delete ODM Alias.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - An ODM Alias with the specified 'odm_alias_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/aliases/{odm_alias_uid}/approvals": { "post": { "tags": [ "ODM Aliases" ], "summary": "Approve an ODM Alias", "operationId": "approve_odm_alias_concepts_odms_aliases__odm_alias_uid__approvals_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_alias_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Alias.", "title": "Odm Alias Uid" }, "description": "The unique id of the ODM Alias." } ], "responses": { "201": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmAlias" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Alias is not in draft status.\n- The library doesn't allow to approve ODM Alias.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Alias with the specified 'odm_alias_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/aliases/{odm_alias_uid}/activations": { "delete": { "tags": [ "ODM Aliases" ], "summary": " Inactivate an ODM Alias", "operationId": "inactivate_odm_alias_concepts_odms_aliases__odm_alias_uid__activations_delete", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_alias_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Alias.", "title": "Odm Alias Uid" }, "description": "The unique id of the ODM Alias." } ], "responses": { "200": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmAlias" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Alias is not in final status.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Alias with the specified 'odm_alias_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Aliases" ], "summary": "Reactivate an ODM Alias", "operationId": "reactivate_odm_alias_concepts_odms_aliases__odm_alias_uid__activations_post", "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ], "parameters": [ { "name": "odm_alias_uid", "in": "path", "required": true, "schema": { "type": "string", "description": "The unique id of the ODM Alias.", "title": "Odm Alias Uid" }, "description": "The unique id of the ODM Alias." } ], "responses": { "200": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/OdmAlias" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "400": { "description": "Forbidden - Reasons include e.g.: \n- The ODM Alias is not in retired status.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The ODM Alias with the specified 'odm_alias_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Vendor Namespaces" ], "summary": "Delete draft version of ODM Vendor Namespace", "operationId": "delete_odm_vendor_namespace_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Vendor Namespaces" ], "summary": "Reactivate retired version of a ODM Vendor Namespace", "operationId": "reactivate_odm_vendor_namespace_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Vendor Attributes" ], "summary": "Delete draft version of ODM Vendor Attribute", "operationId": "delete_odm_vendor_attribute_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Vendor Attributes" ], "summary": "Reactivate retired version of a ODM Vendor Attribute", "operationId": "reactivate_odm_vendor_attribute_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "ODM Vendor Elements" ], "summary": "Delete draft version of ODM Vendor Element", "operationId": "delete_odm_vendor_element_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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", "title": "Response Get Active Relationships Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/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_concepts_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 Concepts 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/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_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "ODM Vendor Elements" ], "summary": "Reactivate retired version of a ODM Vendor Element", "operationId": "reactivate_odm_vendor_element_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/odms/metadata/xmls/export": { "post": { "tags": [ "ODM Metadata Import/Export" ], "summary": "Export ODM XML", "operationId": "get_odm_document_concepts_odms_metadata_xmls_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" } }, { "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": "status", "in": "query", "required": false, "schema": { "$ref": "#/components/schemas/ObjectStatus", "default": "final" } }, { "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" }, { "type": "null" } ], "title": "Stylesheet" } } ], "requestBody": { "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_get_odm_document_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/metadata/csvs/export": { "post": { "tags": [ "ODM Metadata Import/Export" ], "summary": "Export ODM CSV", "operationId": "get_odm_csv_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/metadata/xmls/import": { "post": { "tags": [ "ODM Metadata Import/Export" ], "summary": "Import ODM XML", "operationId": "store_odm_xml_concepts_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." } ], "requestBody": { "required": true, "content": { "multipart/form-data": { "schema": { "$ref": "#/components/schemas/Body_store_odm_xml_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/odms/metadata/xmls/stylesheets": { "get": { "tags": [ "ODM Metadata Import/Export" ], "summary": "Listing of all available ODM XML Stylesheet names", "operationId": "get_available_stylesheet_names_concepts_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 Concepts 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": [] } ] } }, "/concepts/odms/metadata/xmls/stylesheets/{stylesheet}": { "get": { "tags": [ "ODM Metadata Import/Export" ], "summary": "Get a specific ODM XML Stylesheet", "operationId": "get_specific_stylesheet_concepts_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "202": { "description": "Accepted. The content is valid and may be submitted in another request.", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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" } } } }, "404": { "description": "Entity not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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", "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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 value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "202": { "description": "Accepted. The content is valid and may be submitted in another request.", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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 \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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "202": { "description": "Accepted. The content is valid and may be submitted in another request.", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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 \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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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.comAlamakota2020-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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "202": { "description": "Accepted. The content is valid and may be submitted in another request.", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "202": { "description": "Accepted. The content is valid and may be submitted in another request.", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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 \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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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 \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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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.comAlamakota2020-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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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/ComplexTemplateParameter" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "202": { "description": "Accepted. The content is valid and may be submitted in another request.", "content": { "application/json": { "schema": {} } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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\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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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/ComplexTemplateParameter" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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": { "basic": { "value": "{\"term_uids\": [\"\"], \"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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/ct/codelists/{codelist_uid}/terms": { "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", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "201": { "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 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 doesn't have passed term.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "type": "string", "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "type": "string", "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "type": "string", "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "type": "string", "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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'", "title": "Relationship Type" }, "description": "The type of the parent relationship.\nValid types are 'type' or 'subtype'" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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'", "title": "Relationship Type" }, "description": "The type of the parent relationship.\nValid types are 'type' or 'subtype'" } ], "responses": { "201": { "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" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "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" } } } }, "404": { "description": "Not Found - The term with the specified 'term-uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/ct/terms/{term_uid}/order": { "patch": { "tags": [ "CT Terms" ], "summary": "Change an order of codelist-term relationship", "description": "Reordering will create new HAS_TERM relationship.", "operationId": "patch_new_term_order_ct_terms__term_uid__order_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/CTTermNewOrder", "description": "Parameters needed for the reorder action." } } } }, "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CTTerm" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "201": { "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" } } } }, "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 doesn't have passed term.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Entity not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": "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": "sort_by", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/activities/activity-instances/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_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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "patch": { "tags": [ "Activity Instances" ], "summary": "Update activity instance", "description": "State before:\n - uid must exist and activity instance 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__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/ActivityInstanceEditInput" } } } }, "responses": { "200": { "description": "OK.", "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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.", "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/concepts/activities/activity-instances/{activity_instance_uid}/versions": { "get": { "tags": [ "Activity Instances" ], "summary": "List version history for activity instance", "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__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/ActivityInstance" }, "title": "Response Get Versions Concepts Activities Activity Instances Activity Instance Uid 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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", "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__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/ActivityInstance" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "security": [ { "OAuth2AuthorizationCodeBearer": [] }, { "BearerJwtAuth": [] } ] } }, "/concepts/activities/activity-instances/{activity_instance_uid}/approvals": { "post": { "tags": [ "Activity Instances" ], "summary": "Approve draft version of an activity instance", "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__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/ActivityInstance" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/activities/activity-instances/{activity_instance_uid}/activations": { "delete": { "tags": [ "Activity Instances" ], "summary": " Inactivate final version of an activity instance", "description": "State before:\n - uid must exist and activity instance 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 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_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/ActivityInstance" } } } }, "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Activity Instances" ], "summary": "Reactivate retired version of an activity instance", "description": "State before:\n - uid must exist and activity instance 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 instance 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_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/ActivityInstance" } } } }, "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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/ActivityInstanceClassInput" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/activity-item-classes/{activity_item_class_uid}/terms": { "get": { "tags": [ "Activity Item Classes" ], "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_activity_item_classes__activity_item_class_uid__terms_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": "sort_by", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CustomPage_TermWithCodelistMetadata_" } } } }, "404": { "description": "Entity not found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": "group_by_groupings", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": "page_number", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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 roots_only: If true, returns only the highest version of each unique activity instance.\n If false, returns all versions of all activity instances.\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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": "activity_group_uid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The unique id of the activity group", "title": "Activity Group Uid" }, "description": "The unique id of the activity group" }, { "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "post": { "tags": [ "Activity Subgroups" ], "summary": "Creates new activity sub 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 sub 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 - 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 sub group 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": "activity_group_uid", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string" }, { "type": "null" } ], "description": "The unique id of the activity group", "title": "Activity Group Uid" }, "description": "The unique id of the activity group" }, { "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": "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_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": "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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 sub group (in a specific version)", "description": "State before:\n - an activity sub 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_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "put": { "tags": [ "Activity Subgroups" ], "summary": "Update activity sub group", "description": "State before:\n - uid must exist and activity sub group must exist in status draft.\n - The activity sub 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 sub 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 sub group is updated, the relationships are updated to point to the activity sub group value node.\n\nState after:\n - attributes are updated for the activity sub group.\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 sub group is not in draft status.\n- The activity sub 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 sub group with the specified 'activity_subgroup_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "tags": [ "Activity Subgroups" ], "summary": "Delete draft version of activity sub 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 sub 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_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 sub 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 sub group is not in draft status.\n- The activity sub group was already in final state or is in use.\n- The library doesn't allow to delete activity sub group.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - An activity sub group with the specified 'activity_subgroup_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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 sub group with the specified 'activity_subgroup_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } }, "post": { "tags": [ "Activity Subgroups" ], "summary": " Create a new version of activity sub group", "description": "State before:\n - uid must exist and the activity sub group must be in status Final.\n\nBusiness logic:\n- The activity sub group 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 sub group is not in final status.\n- The activity sub group with the specified 'activity_subgroup_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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 sub group", "description": "State before:\n - uid must exist and activity sub 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\nState after:\n - Activity sub 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_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" } ], "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 sub group is not in draft status.\n- The library doesn't allow to approve activity sub group.\n", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The activity sub group with the specified 'activity_subgroup_uid' wasn't found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/concepts/activities/activity-sub-groups/{activity_subgroup_uid}/activations": { "delete": { "tags": [ "Activity Subgroups" ], "summary": " Inactivate final version of activity sub group", "description": "State before:\n - uid must exist and activity sub 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 sub 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_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 sub group is not in final status.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The activity sub group with the specified 'activity_subgroup_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "post": { "tags": [ "Activity Subgroups" ], "summary": "Reactivate retired version of a activity sub group", "description": "State before:\n - uid must exist and activity sub 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 sub 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_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 sub group is not in retired status.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "404": { "description": "Not Found - The activity sub group with the specified 'activity_subgroup_uid' could not be found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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/clinical_mdr_api__models__concepts__activities__activity_group__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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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 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_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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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 sub 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/clinical_mdr_api__models__concepts__activities__activity_group__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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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/clinical_mdr_api__models__concepts__activities__activity_group__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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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 sub 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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/clinical_mdr_api__models__concepts__activities__activity_group__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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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/clinical_mdr_api__models__concepts__activities__activity_group__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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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\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" } ], "responses": { "201": { "description": "OK.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/clinical_mdr_api__models__concepts__activities__activity_group__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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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/clinical_mdr_api__models__concepts__activities__activity_group__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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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/clinical_mdr_api__models__concepts__activities__activity_group__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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "default": false, "title": "Show Items" } } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": {}, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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/StatusChangeDescription", "description": "The description of the 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "delete": { "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__locks_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": { "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": "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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/StatusChangeDescription", "description": "The description of the release 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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_activity_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": "sort_by", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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": "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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, ..." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/StudySubpartAuditTrail" }, "title": "Response Get Study Subpart Audit Trail Studies Study Uid 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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, ..." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "type": "object" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "name": "page_number", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "name": "page_number", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "name": "page_number", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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:\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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/studies/{study_uid}/study-activity-instances/batch-select": { "post": { "tags": [ "Study Selections" ], "summary": "Batch select ActivityInstance to a given Study", "operationId": "post_new_soa_footnotes_batch_select_studies__study_uid__study_activity_instances_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": { "$ref": "#/components/schemas/StudySelectionActivityInstanceBatchCreate", "description": "Related parameters of the StudyActivityInstance that shall be created." } } } }, "responses": { "201": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/StudySelectionActivityInstanceBatchOutput" }, "title": "Response Post New Soa Footnotes Batch Select Studies Study Uid Study Activity Instances 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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", "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/StudyActivityReplaceActivityInput", "description": "Parameters for the StudyActivity that will replace old StudyActivity" } } } }, "responses": { "200": { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "405": { "description": "Unsupported method", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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, ..." } ], "responses": { "200": { "description": "Successful Response", "content": { "application/json": { "schema": { "type": "array", "items": { "$ref": "#/components/schemas/StudySelectionBranchArm" }, "title": "Response Get All Selected Branch Arms Studies Study Uid Study Branch Arms 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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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, ..." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "name": "page_number", "in": "query", "required": false, "schema": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "type": "string", "format": "date", "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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", "uniqueItems": true, "items": { "type": "string" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" }, { "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_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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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, ..." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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." } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" } } } } } } }, "/studies/{study_uid}/consecutive-visit-groups/{consecutive_visit_group_name}": { "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_name__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_name", "in": "path", "required": true, "schema": { "type": "string", "description": "The name of the consecutive-visit-group that is removed", "title": "Consecutive Visit Group Name" }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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.comAlamakota2020-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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } }, "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } } } } }, "/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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "integer" }, { "type": "null" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "anyOf": [ { "type": "string", "contentMediaType": "application/json", "contentSchema": {} }, { "type": "null" } ], "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": { "anyOf": [ { "type": "integer", "minimum": 1 }, { "type": "null" } ], "description": "\nPage number of the returned list of entities.\n\nFunctionality : provided together with `page_size`, 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": { "anyOf": [ { "type": "integer", "maximum": 1000, "minimum": 0 }, { "type": "null" } ], "description": "\nNumber of items to be returned per page.\n\nDefault: 10\n\nFunctionality: Provided together with `page_number`, selects the number of 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": { "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": { "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\"}}" }, "none": { "summary": "No Filters", "description": "No filters are applied.", "value": {} } } }, { "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": { "anyOf": [ { "type": "boolean" }, { "type": "null" } ], "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n", "default": false, "title": "Total Count" }, "description": "Boolean value specifying whether total count of entities should be included in the response.\n\nFunctionality: retrieve total count of queried entities.\n\n" } ], "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" } } } }, "422": { "description": "Validation Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/HTTPValidationError" } } } }, "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": { "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": { "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-