POST
/
validate_brx
{
  "400": {},
  "401": {},
  "403": {},
  "404": {},
  "500": {},
  "validateBrxResponse": {
    "httpResponse": {
      "isError": true,
      "statusMsg": "<string>",
      "isValid": true,
      "validationResults": {
        "schema": {
          "isValid": true,
          "errors": [
            {}
          ]
        },
        "prompt": {
          "isValid": true,
          "errors": [
            {}
          ]
        },
        "dependencies": {
          "isValid": true,
          "errors": [
            {}
          ]
        },
        "configuration": {
          "isValid": true,
          "errors": [
            {}
          ]
        }
      }
    }
  }
}

This endpoint validates a BRK to ensure it is properly structured and can be executed. It checks the BRK’s schema, prompt templates, dependencies, and configuration parameters. It does not execute the BRK, but only verifies that it is valid. You must have at least editor permissions for the BRK to validate it.

Request

brxId
string
required

The ID of the BRK to validate

Example Request

{
  "brxId": "brk-12345678-90ab-cdef-1234-567890abcdef"
}

Response

validateBrxResponse
object

Example Response (Valid BRK)

{
  "validateBrxResponse": {
    "httpResponse": {
      "isError": false,
      "statusMsg": "BRK validated successfully",
      "isValid": true,
      "validationResults": {
        "schema": {
          "isValid": true,
          "errors": []
        },
        "prompt": {
          "isValid": true,
          "errors": []
        },
        "dependencies": {
          "isValid": true,
          "errors": []
        },
        "configuration": {
          "isValid": true,
          "errors": []
        }
      }
    }
  }
}

Example Response (Invalid BRK)

{
  "validateBrxResponse": {
    "httpResponse": {
      "isError": false,
      "statusMsg": "BRK validation failed",
      "isValid": false,
      "validationResults": {
        "schema": {
          "isValid": true,
          "errors": []
        },
        "prompt": {
          "isValid": false,
          "errors": [
            "Prompt template contains undefined variable: {{undefined_variable}}"
          ]
        },
        "dependencies": {
          "isValid": false,
          "errors": [
            "Dependency 'main_brx_entry_schema' references a non-existent BRK: brk-abcdef12-3456-7890-abcd-ef1234567890"
          ]
        },
        "configuration": {
          "isValid": true,
          "errors": []
        }
      }
    }
  }
}

Error Codes

400
object

Bad Request - The request was malformed or missing required parameters

401
object

Unauthorized - Authentication credentials are missing or invalid

403
object

Forbidden - The authenticated user does not have permission to validate the requested BRK

404
object

Not Found - The requested BRK does not exist

500
object

Internal Server Error - An unexpected error occurred on the server

Notes

  • This endpoint is useful for checking if a BRK is valid before attempting to execute it.
  • The validation checks include:
    • Schema validation: Ensures that the BRK’s schema is properly structured and all required fields are present.
    • Prompt template validation: Ensures that all variables used in prompt templates are defined in the schema.
    • Dependency validation: Ensures that all referenced BRKs exist and are accessible.
    • Configuration validation: Ensures that all configuration parameters are valid.
  • The response includes detailed validation results for each component of the BRK, including any errors that were found.
  • A BRK is considered valid only if all components are valid (i.e., isValid is true for all components).