{
  "opencollection": "1.0.0",
  "info": {
    "name": "DIBBs eCR Refiner app-notifications configurations API",
    "version": "1.0.0"
  },
  "items": [
    {
      "info": {
        "name": "configurations",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Get Configurations",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v1/configurations/"
          },
          "docs": "Returns a list of configurations based on the logged-in user.\n\nReturns:\n    List of configuration objects."
        },
        {
          "info": {
            "name": "Create Configuration",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/configurations/",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Create a new configuration for a jurisdiction."
        },
        {
          "info": {
            "name": "Get Configuration",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Get a single configuration by its ID including all associated conditions."
        },
        {
          "info": {
            "name": "Associate Condition Codeset With Configuration",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/code-sets",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "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 theref"
        },
        {
          "info": {
            "name": "Remove Condition Codeset From Configuration",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/code-sets/:condition_id",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "condition_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "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 dr"
        },
        {
          "info": {
            "name": "Add Custom Code",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/custom-codes",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "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 "
        },
        {
          "info": {
            "name": "Edit Custom Code",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/custom-codes",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "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 config"
        },
        {
          "info": {
            "name": "Upload Custom Codes Csv",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/custom-codes/upload",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Accepts a CSV payload in JSON body.\n\nExpected CSV headers:\n    code_number,code_system,display_name\n\nReturns:\n    UploadCustomCodesResponse"
        },
        {
          "info": {
            "name": "Confirm Upload Custom Codes Csv",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/custom-codes/confirm",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Confirm and save custom codes from preview list."
        },
        {
          "info": {
            "name": "Delete Custom Code",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/custom-codes/:system_key/:code",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              },
              {
                "name": "system_key",
                "value": "",
                "type": "path"
              },
              {
                "name": "code",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Delete a custom code from a configuration.\n\nArgs:\n    configuration_id (UUID): The ID of the configuration to modify.\n    system_key (str): System of the custom code.\n    code (str): Code 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 system_key is not provided\n    HTTPException: 400 if code is not provided\n    HTTPException: 404 if configuration can't be found\n    HTTPException: 409"
        },
        {
          "info": {
            "name": "Validate Custom Code",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/custom-codes/validate",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "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 name has not been used, otherwise returns False"
        },
        {
          "info": {
            "name": "Get Configuration Export",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/export",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Create a CSV export of a configuration and all associated codes."
        },
        {
          "info": {
            "name": "Run Configuration Test",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/configurations/test",
            "body": {
              "type": "multipart-form",
              "data": []
            }
          },
          "docs": "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"
        },
        {
          "info": {
            "name": "Insert Custom Section",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/sections",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "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"
        },
        {
          "info": {
            "name": "Update Section",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/sections",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "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, or name is in use\n    HTTPException: 404 if configuration isn't found\n    HTTPException: 409 if configuration is not a draft and therefore not editable\n    HTT"
        },
        {
          "info": {
            "name": "Delete Custom Section",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/sections",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "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 cus"
        },
        {
          "info": {
            "name": "Activate Configuration",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/activate",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "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    ActivateConfiguratio"
        },
        {
          "info": {
            "name": "Deactivate Configuration",
            "type": "http"
          },
          "http": {
            "method": "PATCH",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/deactivate",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "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    Co"
        },
        {
          "info": {
            "name": "Release Configuration Lock",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/api/v1/configurations/:configuration_id/release-lock",
            "params": [
              {
                "name": "configuration_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "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"
        }
      ]
    }
  ],
  "bundled": true
}