Every API here is available over the APIs.io API and to AI agents over MCP.
{"openapi": "3.1.0", "info": {"title": "DIBBs eCR Refiner", "description": "Please visit the repo for more info: https://github.com/CDCgov/dibbs-ecr-refiner", "version": "1.0.0"}, "paths": {"/api/user": {"get": {"tags": ["user"], "summary": "Get User", "description": "Returns the current logged-in user's information.\n\nReads user info from the session or token.\n\nReturns:\n JSON object with user claims if authenticated.\n\nRaises:\n HTTPException 401 if user not authenticated.", "operationId": "getUser", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"anyOf": [{"$ref": "#/components/schemas/UserResponse"}, {"type": "null"}], "title": "Response Getuser"}}}}}}}, "/api/v1/conditions/": {"get": {"tags": ["conditions"], "summary": "Get Conditions", "description": "Fetches a summary of all available conditions from the database and returns them as a list.\n\nArgs:\n db (AsyncDatabaseConnection): Database connection.\n\nReturns:\n list[GetConditionsResponse]: List of all condition summaries.", "operationId": "getConditions", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/GetConditionsResponse"}, "type": "array", "title": "Response Getconditions"}}}}}}}, "/api/v1/conditions/{condition_id}": {"get": {"tags": ["conditions"], "summary": "Get Condition", "description": "Returns information about a given condition.\n\nArgs:\n condition_id (UUID): ID of the condition\n db (AsyncDatabaseConnection): Database connection.\n\nRaises:\n HTTPException: 404 if no condition is found\n\nReturns:\n GetCondition: Info about the condition", "operationId": "getCondition", "parameters": [{"name": "condition_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Condition Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetConditionResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/": {"get": {"tags": ["configurations"], "summary": "Get Configurations", "description": "Returns a list of configurations based on the logged-in user.\n\nReturns:\n List of configuration objects.", "operationId": "getConfigurations", "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"items": {"$ref": "#/components/schemas/GetConfigurationsResponse"}, "type": "array", "title": "Response Getconfigurations"}}}}}}, "post": {"tags": ["configurations"], "summary": "Create Configuration", "description": "Create a new configuration for a jurisdiction.", "operationId": "createConfiguration", "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateConfigInput"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CreateConfigurationResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/serialized": {"get": {"tags": ["configurations"], "summary": "Get Serialized Configuration", "description": "Given an active configuration ID, fetches and returns the serialized configuration file content from S3.\n\nArgs:\n configuration_id (UUID): The active configuration ID\n user (DbUser): The logged-in user\n app_config (AppConfig): The required application environment variables\n db (AsyncDatabaseConnection): The database connection\n logger (Logger): The standard app logger\n\nRaises:\n HTTPException: 403 if not running locally\n HTTPException: 404 if configuration cannot be found in the user's jurisdiction\n HTTPException: 400 if the configuration's status is not `active`\n HTTPException: 404 if the configuration's primary condition is not found\n\nReturns:\n Response: The serialized configuration file content", "operationId": "getSerializedConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SerializedFiles"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}": {"get": {"tags": ["configurations"], "summary": "Get Configuration", "description": "Get a single configuration by its ID including all associated conditions.", "operationId": "getConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/GetConfigurationResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/code-sets": {"put": {"tags": ["configurations"], "summary": "Associate Condition Codeset With Configuration", "description": "Associate a specified code set with the given configuration.\n\nArgs:\n configuration_id (UUID): ID of the configuration\n body (AssociateCodesetInput): payload containing a condition_id\n user (dict[str, Any], optional): User making the request\n db (AsyncDatabaseConnection, optional): Database connection\n\nRaises:\n HTTPException: 404 if configuration is not found in JD\n HTTPException: 404 if configuration is not found\n HTTPException: 409 if configuration is not a draft and therefore not editable\n HTTPException: 500 if configuration cannot be updated\n\nReturns:\n AssociateCodesetResponse: ID of updated configuration, the full list of included conditions,\n and the condition_name", "operationId": "associateConditionWithConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssociateCodesetInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssociateCodesetResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/code-sets/{condition_id}": {"delete": {"tags": ["configurations"], "summary": "Remove Condition Codeset From Configuration", "description": "Remove a specified code set from the given configuration.\n\nArgs:\n configuration_id (UUID): ID of the configuration\n condition_id (UUID): ID of the condition to remove\n user (DbUser): User making the request\n db (AsyncDatabaseConnection): Database connection\n\nRaises:\n HTTPException: 404 if configuration is not found in JD\n HTTPException: 404 if condition is not found\n HTTPException: 409 if trying to remove the main condition\n HTTPException: 409 if configuration is not a draft and therefore not editable\n HTTPException: 500 if configuration is cannot be updated\n\nReturns:\n AssociateCodesetResponse: ID of updated configuration and the full list\n of included conditions plus condition_name", "operationId": "disassociateConditionWithConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}, {"name": "condition_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Condition Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AssociateCodesetResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/custom-codes/{id}": {"get": {"tags": ["configurations"], "summary": "Get Custom Code", "description": "Fetch a custom code by its ID.\n\nArgs:\n configuration_id (UUID): The associated configuration ID\n id (UUID): The custom code ID\n user (DbUser): The logged-in user\n db (AsyncDatabaseConnection): The database connection\n\nRaises:\n HTTPException: 404 if configuration can't be found\n\nReturns:\n CustomCodeResponse: The custom code response object", "operationId": "getCustomCode", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}, {"name": "id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCodeResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["configurations"], "summary": "Delete Custom Code", "description": "Delete a custom code from a configuration.\n\nArgs:\n configuration_id (UUID): The ID of the configuration to modify.\n id (str): The ID of the custom code.\n user (dict[str, Any]): The logged-in user.\n db (AsyncDatabaseConnection): The database connection.\n\nRaises:\n HTTPException: 400 if id is not provided\n HTTPException: 404 if configuration can't be found\n HTTPException: 409 if configuration is not a draft and therefore not editable\n HTTPException: 500 if configuration can't be updated\n\nReturns:\n ConfigurationCustomCodeResponse: The updated configuration", "operationId": "deleteCustomCodeFromConfiguration", "parameters": [{"name": "id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Id"}}, {"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCodeResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/custom-codes": {"post": {"tags": ["configurations"], "summary": "Add Custom Code", "description": "Add a user-defined custom code to a configuration.\n\nArgs:\n configuration_id (UUID): The ID of the configuration to update.\n body (AddCustomCodeInput): The custom code information provided by the user.\n user (dict[str, Any]): The logged-in user.\n db (AsyncDatabaseConnection): The database connection.\n\nRaises:\n HTTPException: 404 if configuration isn't found\n HTTPException: 409 if configuration is not a draft and therefore not editable\n HTTPException: 500 if custom code can't be added\n\nReturns:\n ConfigurationCustomCodeResponse: Updated configuration", "operationId": "addCustomCodeToConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddCustomCodeInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCodeResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "put": {"tags": ["configurations"], "summary": "Edit Custom Code", "description": "Modify a configuration's custom code based on system_key/code pair.\n\nArgs:\n configuration_id (UUID): The ID of the configuration to modify.\n body (UpdateCustomCodeInput): User-provided object containing custom code info.\n user (dict[str, Any]): The logged-in user.\n db (AsyncDatabaseConnection): The database connection.\n logger (Logger): The system logger.\n\nRaises:\n HTTPException: 409 if configuration is not a draft and therefore not editable\n HTTPException: 500 if the configuration can't be updated\n\nReturns:\n ConfigurationCustomCodeResponse: The updated configuration.", "operationId": "editCustomCodeFromConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateCustomCodeInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/CustomCodeResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/custom-codes/upload": {"post": {"tags": ["configurations"], "summary": "Upload Custom Codes Csv", "description": "Accepts a CSV payload in JSON body.\n\nExpected CSV headers:\n code,code_system,display_name\n\nReturns:\n UploadCustomCodesResponse", "operationId": "uploadCustomCodesCsv", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UploadCustomCodesCsvInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UploadCustomCodesPreviewResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/custom-codes/confirm": {"post": {"tags": ["configurations"], "summary": "Confirm Upload Custom Codes Csv", "description": "Confirm and save custom codes from preview list.", "operationId": "confirmUploadCustomCodesCsv", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfirmUploadCustomCodesInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/CustomCodeResponse"}, "title": "Response Confirmuploadcustomcodescsv"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/custom-codes/bulk-delete": {"post": {"tags": ["configurations"], "summary": "Bulk Delete Custom Codes", "description": "Deletes custom codes in bulk for a given configuration.\n\nArgs:\n configuration_id (UUID): The ID of the configuration to modify.\n body (BulkDeleteCustomCodesInput): The input body containing IDs of the custom codes.\n user (DbUser): The logged-in user.\n db (AsyncDatabaseConnection): The database connection.\n\nRaises:\n HTTPException: 404 if configuration can't be found\n HTTPException: 409 if configuration is not a draft and therefore not editable\n HTTPException: 500 if configuration can't be updated\n\nReturns:\n ConfigurationCustomCodeResponse: The updated configuration", "operationId": "deleteCustomCodes", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/BulkDeleteCustomCodesInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/CustomCodeResponse"}, "title": "Response Deletecustomcodes"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/custom-codes/validate": {"post": {"tags": ["configurations"], "summary": "Validate Custom Code", "description": "Determines whether a custom code update is valid or not.\n\nIf the desired code is already associated with the configuration, then the update is\ninvalid.\n\nArgs:\n configuration_id (UUID): The configuration ID\n body (ValidateCustomCodeInput): Body including the code to validate\n user (DbUser, optional): The logged in user\n db (AsyncDatabaseConnection, optional): The database connection\n\nReturns:\n bool: Returns True if the code has not been used, otherwise returns False", "operationId": "validateCustomCodeFromConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ValidateCustomCodeInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ValidateCustomCodeResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/export": {"get": {"tags": ["configurations"], "summary": "Get Configuration Export", "description": "Create a CSV export of a configuration and all associated codes.", "operationId": "getConfigurationExport", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "responses": {"200": {"description": "Successful Response"}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/test": {"post": {"tags": ["configurations"], "summary": "Run Configuration Test", "description": "Runs an inline test of a given configuration against an eICR/RR pair.\n\nThis endpoint orchestrates the validation and refinement process by:\n1. Handling file input, either from a user upload or a default sample file.\n2. Calling the `inline_testing` service, which validates that the specified\n configuration's condition is reportable in the provided file.\n3. Handling the service response:\n - If validation fails, raises a 400 Bad Request with a specific error.\n - If successful, proceeds with the returned refined document.\n4. Packaging the original eICR, RR, and the single refined eICR into a\n new in-memory zip archive.\n5. Uploading the archive to S3 and generating a pre-signed download URL.\n6. Returning a `ConfigurationTestResponse` with the download URL and details\n of the successful refinement.\n\nArgs:\n id: The ID of the configuration to test.\n uploaded_file: An optional user-provided zip file with an eICR and RR.\n create_output_zip: Dependency to create a zip archive in memory.\n upload_zip: Dependency to upload the archive to S3.\n user: The authenticated user making the request.\n db: The database connection.\n sample_zip_path: Path to the default sample zip file.\n logger: The application logger.\n\nReturns:\n A response object containing the original eICR, a URL to download the\n zipped results, and details about the refined condition.", "operationId": "runInlineConfigurationTest", "requestBody": {"content": {"multipart/form-data": {"schema": {"$ref": "#/components/schemas/Body_runInlineConfigurationTest"}}}, "required": true}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfigurationTestResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/sections": {"post": {"tags": ["configurations"], "summary": "Insert Custom Section", "description": "Create a new custom section for a given configuration ID.\n\nArgs:\n configuration_id (UUID): The ID of the configuration\n section_input (CustomSectionInput): Desired properties of the section\n user (DbUser): The logged-in user\n db (AsyncDatabaseConnection): The database connection", "operationId": "addCustomSection", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AddSectionInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "string", "title": "Response Addcustomsection"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "delete": {"tags": ["configurations"], "summary": "Delete Custom Section", "description": "Delete a custom section.\n\nArgs:\n configuration_id (UUID): ID of the configuration with custom section to delete\n section_input (DeleteCustomSectionInput): Custom section deletion input\n user (DbUser): The logged in user\n db (AsyncDatabaseConnection): The database connection\n\nRaises:\n HTTPException: 404 if configuration isn't found\n HTTPException: 409 if configuration isn't a draft\n HTTPException: 404 if custom section code to delete isn't found\n\nReturns:\n str: Deleted custom section code", "operationId": "deleteCustomSection", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DeleteSectionInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "string", "title": "Response Deletecustomsection"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}, "patch": {"tags": ["configurations"], "summary": "Update Section", "description": "Update a section entry for a configuration.\n\nArgs:\n configuration_id (UUID): ID of the configuration to update\n section_input (SectionUpdateInput): Updated section info\n user (DbUser): The logged-in user\n db (AsyncDatabaseConnection): Database connection\n\nRaises:\n HTTPException: 400 if the code is not valid, code is in use,\n name is in use, the section is system-skipped\n (`DisabledSection`) and therefore not configurable, the\n narrative/action combination is unsupported (e.g.\n narrative=\"reconstruct\" or \"keep_on_match\" with\n action=\"retain\"), narrative \"reconstruct\" targets a\n section without a registered reconstructor, or the\n section can carry a trigger code and was sent with\n include=False\n HTTPException: 404 if configuration isn't found\n HTTPException: 409 if configuration is not a draft and therefore not editable\n HTTPException: 500 if section processing can't be updated\n\nReturns:\n UpdateSectionProcessingResponse: The message to show the user", "operationId": "updateSection", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SectionUpdateInput"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UpdateSectionProcessingResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/activate": {"patch": {"tags": ["configurations"], "summary": "Activate Configuration", "description": "Activate the specified configuration.\n\nArgs:\n configuration_id (UUID): ID of the configuration to update\n user (DbUser): The logged-in user\n logger (Logger): The standard logger\n db (AsyncDatabaseConnection): Database connection\n\nRaises:\n HTTPException: 400 if configuration can't be activated because of its current state\n HTTPException: 404 if configuration can't be found\n HTTPException: 500 if configuration can't be activated by the server\n\nReturns:\n ActivateConfigurationResponse: Metadata about the activated condition for confirmation", "operationId": "activateConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfigurationStatusUpdateResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/deactivate": {"patch": {"tags": ["configurations"], "summary": "Deactivate Configuration", "description": "Deactivate the specified configuration.\n\nArgs:\n configuration_id (UUID): ID of the configuration to update\n user (DbUser): The logged-in user\n logger (Logger): The standard application logger\n db (AsyncDatabaseConnection): Database connection\n\nRaises:\n HTTPException: 400 if configuration can't be deactivated because of its current state\n HTTPException: 404 if configuration can't be found\n HTTPException: 500 if configuration can't be deactivated by the server\n\nReturns:\n ConfigurationStatusUpdateResponse: Metadata about the activated condition for confirmation", "operationId": "deactivateConfiguration", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ConfigurationStatusUpdateResponse"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/acquire-lock": {"post": {"tags": ["configurations"], "summary": "Acquire Configuration Lock", "description": "Acquire config lock for user.\n\nArgs:\n configuration_id (UUID): ID of the configuration to lock\n user (DbUser): The logged-in user\n db (AsyncDatabaseConnection): Database connection\n\nReturns:\n Response: 204 No Content on success", "operationId": "acquireConfigurationLock", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/release-lock": {"post": {"tags": ["configurations"], "summary": "Release Configuration Lock", "description": "Release config lock if held by user.\n\nArgs:\n configuration_id (UUID): ID of the configuration to update\n user (DbUser): The logged-in user\n db (AsyncDatabaseConnection): Database connection", "operationId": "releaseConfigurationLock", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}], "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/set-status": {"post": {"tags": ["configurations"], "summary": "Set Codes Status", "description": "Sets selected codes to the specified `status` for the given configuration ID.\n\nIf `update_beyond_rendered_set` is false, we update status for only the specified\n`code_ids` within the rendered page.\n\nIf `update_beyond_rendered_set` is true, we skip any codes within `code_ids_to_skip`\nand update status for all other codes that don't get clipped away by the passed-in filters\n\nArgs:\n configuration_id (UUID): ID of the configuration to update\n update_beyond_rendered_set (bool): Whether the action should be only within the rendered codes or include all codes.\n code_ids (list[UUID]): List of code IDs to specifically action. Used in the \"within cursor\" flow.\n code_ids_to_skip (list[UUID]): List of code IDs to skip since they've been manually actioned by the user.\n filters (FilterInput): Filter input coming from the client to build the \"complete\" set of codes to bulk select\n status (Literal['included', 'excluded'): Set codes as 'included' or 'excluded'\n user (DbUser): The logged-in user\n db (AsyncDatabaseConnection): Database connection\n\nRaises:\n HTTPException: 404 if configuration can't be found\n\nReturns:\n list[UUID]: Code IDs that had their status changed", "operationId": "setCodesStatus", "parameters": [{"name": "configuration_id", "in": "path", "required": true, "schema": {"type": "string", "format": "uuid", "title": "Configuration Id"}}, {"name": "update_beyond_rendered_set", "in": "query", "required": true, "schema": {"type": "boolean", "title": "Update Beyond Rendered Set"}}, {"name": "status", "in": "query", "required": true, "schema": {"enum": ["included", "excluded"], "type": "string", "title": "Status"}}, {"name": "search", "in": "query", "required": false, "schema": {"anyOf": [{"type": "string"}, {"type": "null"}], "title": "Search"}}, {"name": "code_systems", "in": "query", "required": false, "schema": {"type": "array", "items": {"type": "string"}, "default": [], "title": "Code Systems"}}, {"name": "sources", "in": "query", "required": false, "schema": {"type": "array", "items": {"type": "string"}, "default": [], "title": "Sources"}}, {"name": "statuses", "in": "query", "required": false, "schema": {"type": "array", "items": {"type": "string"}, "default": [], "title": "Statuses"}}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Body_setCodesStatus"}}}}, "responses": {"200": {"description": "Successful Response", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "string", "format": "uuid"}, "title": "Response Setcodesstatus"}}}}, "422": {"description": "Validation Error", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/HTTPValidationError"}}}}}}}, "/api/v1/configurations/{configuration_id}/codes": {"get": {"tags": ["configurations"], "summary": "Get Codes", "description": "Fetches all codes associated with a configuration.\n\nArgs:\n configuration_id (UUID): ID of the configuration to update\n filters (FilterInput): Filter input coming from the client\n cursor (str | None): The cursor for the page to start from\n user (DbUser): The logged-in user\n logger (Logger): The standard
# --- truncated at 32 KB (87 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/centers-for-disease-control-and-prevention/refs/heads/main/openapi/centers-for-disease-control-and-prevention-dibbs-ecr-refiner-openapi.json