{
    "swagger":"2.0",
    "info":{
        "title":"Blockchain Platform Manager APIs",
        "description":"Blockchain Platform Manager APIs",
        "version":"2026.09.30",
        "x-summary":"Blockchain Platform Manager APIs"
    },
    "schemes":[
        "https"
    ],
    "securityDefinitions":{
        "bearerAuth":{
            "type":"apiKey",
            "name":"Authorization",
            "in":"header",
            "description":"OIDC access token supplied as `Bearer <access-token>`."
        },
        "consoleSessionAuth":{
            "type":"apiKey",
            "name":"Cookie",
            "in":"header",
            "description":"Console session cookie supplied as `CP_SESSION_ID=<session-id>`."
        },
        "consoleSessionMode":{
            "type":"apiKey",
            "name":"X-AUTH-MODE",
            "in":"header",
            "description":"Set to `ui-session` when authenticating with a console session."
        },
        "consoleSessionCsrf":{
            "type":"apiKey",
            "name":"X-CSRF-Token",
            "in":"header",
            "description":"CSRF token from the `CP_CSRF_TOKEN` cookie, required for unsafe console-session requests."
        }
    },
    "security":[
        {
            "bearerAuth":[
            ]
        },
        {
            "consoleSessionAuth":[
            ],
            "consoleSessionMode":[
            ]
        }
    ],
    "basePath":"/api/v1",
    "tags":[
        {
            "name":"Blockchain Platform Administrative Operations/Authentication",
            "description":"Use these operations to work with OIDC authentication."
        },
        {
            "name":"Blockchain Platform Administrative Operations/Besu",
            "description":"Use these operations to administer Oracle Blockchain Platform Besu instances."
        },
        {
            "name":"Blockchain Platform Administrative Operations/Configuration",
            "description":"Use these operations to configure your platform."
        },
        {
            "name":"Blockchain Platform Administrative Operations/Rich History",
            "description":"Use these operations to work with the rich history database."
        }
    ],
    "produces":[
        "application/json"
    ],
    "paths":{
        "/blockchainPlatforms/activities":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"GetActivities",
                "summary":"Get All Activity Details",
                "description":"Get activity details for all instances.",
                "parameters":[
                    {
                        "$ref":"#/parameters/InstanceNameTextQueryParam"
                    },
                    {
                        "$ref":"#/parameters/OperationsQueryParam"
                    },
                    {
                        "$ref":"#/parameters/FromDateQueryParam"
                    },
                    {
                        "$ref":"#/parameters/ToDateQueryParam"
                    },
                    {
                        "$ref":"#/parameters/PlatformTypeQueryParam"
                    },
                    {
                        "$ref":"#/parameters/PlatformTypeLowercaseQueryParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/InstanceActivityInfoSummary"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"blockchainPlatforms-activities-get",
                "x-filename-id":"blockchainplatforms-activities-get"
            }
        },
        "/besu/instance":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"CreateBesuInstance",
                "summary":"Create a new Besu Instance",
                "description":"Create a new Besu instance. The caller must be a member of the submitted instanceAccessGroup. Founder and participant payloads have different chain, validator-node, boot-node, and genesis-package requirements.",
                "consumes":[
                    "multipart/form-data"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"thirdPartyCACert",
                        "in":"formData",
                        "type":"file",
                        "required":false,
                        "description":"Third party CA certificate archive."
                    },
                    {
                        "name":"thirdPartyTLSCert",
                        "in":"formData",
                        "type":"file",
                        "required":false,
                        "description":"Third party TLS certificate archive."
                    },
                    {
                        "name":"participantGenesisZip",
                        "in":"formData",
                        "type":"file",
                        "required":false,
                        "description":"Participant genesis metadata .zip. Required for participant Besu instances."
                    },
                    {
                        "name":"payload",
                        "in":"formData",
                        "required":true,
                        "type":"string",
                        "description":"JSON string containing the Besu instance creation details.",
                        "default":"{\"name\":\"string\",\"domainName\":\"example.com\",\"instanceAccessGroup\":\"string\",\"platformRole\":\"founder\",\"configuration\":\"Enterprise\",\"archiveNodes\":1}"
                    }
                ],
                "responses":{
                    "202":{
                        "description":"Accepted",
                        "headers":{
                            "Location":{
                                "description":"Location Header with a URL to query the status of the request.",
                                "type":"string"
                            },
                            "Retry-After":{
                                "description":"Retry after N number of seconds.",
                                "type":"integer"
                            }
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-post",
                "x-filename-id":"besu-instance-post"
            },
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"ListBesuInstances",
                "summary":"List Besu Instances",
                "description":"List all Besu instances visible to the caller's authorized instance-access groups.",
                "parameters":[
                    {
                        "$ref":"#/parameters/IncludeSummaryQueryParam"
                    },
                    {
                        "$ref":"#/parameters/IncludePendingQueryParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/BesuInstancesSummaryWrapper"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-get",
                "x-filename-id":"besu-instance-get"
            }
        },
        "/besu/instance/getUniqueId":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"GetUniqueBesuInstanceId",
                "summary":"Generate Unique Besu Instance Identifier",
                "description":"Generate a unique identifier for a new Besu instance.",
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "type":"string"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-getUniqueId-get",
                "x-filename-id":"besu-instance-getuniqueid-get"
            }
        },
        "/besu/instance/{id}":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"GetBesuInstance",
                "summary":"Get Besu Instance Details",
                "description":"Get details for a particular Besu instance.",
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/BesuInstanceDetails"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-get",
                "x-filename-id":"besu-instance-id-get"
            },
            "delete":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"DeleteBesuInstance",
                "summary":"Delete a Besu Instance",
                "description":"Delete a particular Besu instance.",
                "produces":[
                    "text/plain"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    }
                ],
                "responses":{
                    "202":{
                        "description":"Accepted",
                        "headers":{
                            "Location":{
                                "description":"Location Header with a URL to query the status of the request.",
                                "type":"string"
                            }
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "409":{
                        "$ref":"#/responses/409"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-delete",
                "x-filename-id":"besu-instance-id-delete"
            }
        },
        "/besu/instance/{id}/activity":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"GetBesuInstanceActivity",
                "summary":"Get Besu Instance Activity Details",
                "description":"Get the activity details for a particular Besu instance.",
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/InstanceActivityInfoSummary"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-activity-get",
                "x-filename-id":"besu-instance-id-activity-get"
            }
        },
        "/besu/instance/{id}/action/start":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"StartBesuInstance",
                "summary":"Start a Besu Instance",
                "description":"Start a Besu instance.",
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    }
                ],
                "responses":{
                    "202":{
                        "description":"Accepted",
                        "headers":{
                            "Location":{
                                "description":"Location Header with a URL to query the status of the request.",
                                "type":"string"
                            },
                            "Retry-After":{
                                "description":"Retry after N number of seconds.",
                                "type":"integer"
                            }
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "409":{
                        "$ref":"#/responses/409"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-action-start-post",
                "x-filename-id":"besu-instance-id-action-start-post"
            }
        },
        "/besu/instance/{id}/action/stop":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"StopBesuInstance",
                "summary":"Stop a Besu Instance",
                "description":"Stop a Besu instance.",
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    }
                ],
                "responses":{
                    "202":{
                        "description":"Accepted",
                        "headers":{
                            "Location":{
                                "description":"Location Header with a URL to query the status of the request.",
                                "type":"string"
                            },
                            "Retry-After":{
                                "description":"Retry after N number of seconds.",
                                "type":"integer"
                            }
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "409":{
                        "$ref":"#/responses/409"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-action-stop-post",
                "x-filename-id":"besu-instance-id-action-stop-post"
            }
        },
        "/besu/instance/{id}/status":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"GetBesuInstanceStatus",
                "summary":"Get Besu Instance Status",
                "description":"Get Besu instance status.",
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/BesuInstanceStatus"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-status-get",
                "x-filename-id":"besu-instance-id-status-get"
            }
        },
        "/besu/instance/{id}/operation/{opid}/status":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"GetBesuOperationStatus",
                "summary":"Get the Operation Status of a Besu Instance",
                "description":"Get the operation status of an asynchronous Besu activity.",
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    },
                    {
                        "in":"path",
                        "name":"opid",
                        "type":"string",
                        "required":true,
                        "description":"The activity identifier returned in the polling Location URL."
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/ActivityStatus"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-operation-{opid}-status-get",
                "x-filename-id":"besu-instance-id-operation-opid-status-get"
            }
        },
        "/besu/instance/{id}/scalein":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"ScaleInBesuInstance",
                "summary":"Scale in a Besu Instance",
                "description":"Scale in a Besu component. Replicas must be less than the current count. A 409 is returned when the current instance state does not permit scaling.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    },
                    {
                        "in":"body",
                        "name":"payload",
                        "required":true,
                        "schema":{
                            "type":"object",
                            "description":"Desired replica count for one Besu component.",
                            "required":[
                                "role",
                                "name",
                                "replicas"
                            ],
                            "properties":{
                                "role":{
                                    "type":"string",
                                    "enum":[
                                        "rpcproxy",
                                        "serviceconsole",
                                        "archive",
                                        "bootnode",
                                        "rpc"
                                    ]
                                },
                                "name":{
                                    "type":"string",
                                    "description":"custom-scaling, or a node name in the form obp-{instanceId}-{role}-{ordinal} for node-role scale-in."
                                },
                                "replicas":{
                                    "type":"integer",
                                    "minimum":1,
                                    "description":"Desired total count. Maximum: 3 for rpcproxy/rpc; 2 for serviceconsole/archive/bootnode. Scale-out must increase and scale-in must decrease the current count."
                                }
                            }
                        }
                    }
                ],
                "responses":{
                    "202":{
                        "description":"Accepted",
                        "headers":{
                            "Location":{
                                "description":"Location Header with a URL to query the status of the request.",
                                "type":"string"
                            },
                            "Retry-After":{
                                "description":"Retry after N number of seconds.",
                                "type":"integer"
                            }
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "409":{
                        "$ref":"#/responses/409"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-scalein-post",
                "x-filename-id":"besu-instance-id-scalein-post"
            }
        },
        "/besu/instance/{id}/scaleout":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"ScaleOutBesuInstance",
                "summary":"Scale out a Besu Instance",
                "description":"Scale out a Besu component. Replicas must be greater than the current count. A 409 is returned when the current instance state does not permit scaling.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    },
                    {
                        "in":"body",
                        "name":"payload",
                        "required":true,
                        "schema":{
                            "type":"object",
                            "description":"Desired replica count for one Besu component.",
                            "required":[
                                "role",
                                "name",
                                "replicas"
                            ],
                            "properties":{
                                "role":{
                                    "type":"string",
                                    "enum":[
                                        "rpcproxy",
                                        "serviceconsole",
                                        "archive",
                                        "bootnode",
                                        "rpc"
                                    ]
                                },
                                "name":{
                                    "type":"string",
                                    "description":"custom-scaling, or a node name in the form obp-{instanceId}-{role}-{ordinal} for node-role scale-in."
                                },
                                "replicas":{
                                    "type":"integer",
                                    "minimum":1,
                                    "description":"Desired total count. Maximum: 3 for rpcproxy/rpc; 2 for serviceconsole/archive/bootnode. Scale-out must increase and scale-in must decrease the current count."
                                }
                            }
                        }
                    }
                ],
                "responses":{
                    "202":{
                        "description":"Accepted",
                        "headers":{
                            "Location":{
                                "description":"Location header with a URL to query the status of the request.",
                                "type":"string"
                            },
                            "Retry-After":{
                                "description":"Retry after N number of seconds.",
                                "type":"integer"
                            }
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "409":{
                        "$ref":"#/responses/409"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-scaleout-post",
                "x-filename-id":"besu-instance-id-scaleout-post"
            }
        },
        "/besu/instance/{id}/client-credentials":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"GetBesuClientCredentials",
                "summary":"Get Besu Client Credentials",
                "description":"Get the generated client credentials for a Besu instance.",
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/ClientCredentials"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-client-credentials-get",
                "x-filename-id":"besu-instance-id-client-credentials-get"
            }
        },
        "/besu/instance/{id}/export-genesis-metadata":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Besu"
                ],
                "operationId":"ExportBesuGenesisMetadata",
                "summary":"Export Besu Genesis Metadata",
                "description":"Export a .zip containing <code>genesis.json</code> and <code>static-nodes.json</code> for a founder Besu instance.",
                "produces":[
                    "application/zip"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/BesuInstanceIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "headers":{
                            "Content-Disposition":{
                                "description":"Attachment filename for the exported archive.",
                                "type":"string"
                            }
                        },
                        "schema":{
                            "type":"string",
                            "format":"binary"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"besu-instance-{id}-export-genesis-metadata-get",
                "x-filename-id":"besu-instance-id-export-genesis-metadata-get"
            }
        },
        "/auth/provider/active":{
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Authentication"
                ],
                "operationId":"GetActiveAuthProvider",
                "summary":"Get Active OIDC Provider Name",
                "description":"Get the active OIDC provider name for the login page.",
                "security":[
                ],
                "produces":[
                    "application/json"
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/ActiveProviderResponse"
                        }
                    },
                    "204":{
                        "description":"No active provider is configured."
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"auth-provider-active-get",
                "x-filename-id":"auth-provider-active-get"
            }
        },
        "/configuration/cpConfig":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"GetAllControlPlaneConfiguration",
                "summary":"Get Available Configurations for Control Plane",
                "description":"Get all available configurations for the control plane.",
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/CpConfigMap"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-cpConfig-get",
                "x-filename-id":"configuration-cpconfig-get"
            },
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"saveControlPlaneConfiguration",
                "summary":"Save or Update a Control Plane Configuration",
                "description":"Save or update a control plane configuration. You cannot update `controlPlaneID`. You can activate the default LDAP provider if no identity provider is active. You cannot activate a second identity provider.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "in":"body",
                        "name":"Payload",
                        "required":true,
                        "description":"request payload in JSON",
                        "schema":{
                            "type":"object",
                            "required":[
                                "cpConfigName",
                                "cpConfigValue"
                            ],
                            "properties":{
                                "cpConfigName":{
                                    "type":"string",
                                    "description":"Public configuration name. controlPlaneId is server-managed and is rejected."
                                },
                                "cpConfigValue":{
                                    "type":"string",
                                    "description":"When cpConfigName is activeLdapId, the value must be DEFAULT-LDAP-ID-001."
                                }
                            }
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK"
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-cpConfig-post",
                "x-filename-id":"configuration-cpconfig-post"
            }
        },
        "/configuration/auth":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"authenticateConfiguration",
                "summary":"Get Post Login Configuration Details",
                "description":"Get post login configuration details.",
                "produces":[
                    "application/json"
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/PostLoginAuthConfig"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-auth-post",
                "x-filename-id":"configuration-auth-post"
            }
        },
        "/configuration/cpConfig/list":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"saveCPConfigList",
                "summary":"Create or Update Multiple Control Plane Configurations",
                "description":"Create or update the supplied control plane configurations. You cannot update `controlPlaneId`. You can activate the default LDAP provider using`activeLdapId`. You cannot activate more than one identity provider per installation. Identity provider configurations cannot be saved or activated again.",
                "consumes":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "in":"body",
                        "name":"Payload",
                        "required":true,
                        "description":"Request payload in JSON",
                        "schema":{
                            "type":"array",
                            "items":{
                                "type":"object",
                                "required":[
                                    "cpConfigName",
                                    "cpConfigValue"
                                ],
                                "properties":{
                                    "cpConfigName":{
                                        "type":"string",
                                        "description":"Public configuration name. controlPlaneId is server-managed and is rejected."
                                    },
                                    "cpConfigValue":{
                                        "type":"string",
                                        "description":"When cpConfigName is activeLdapId, the value must be DEFAULT-LDAP-ID-001."
                                    }
                                }
                            }
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK"
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-cpConfig-list-post",
                "x-filename-id":"configuration-cpconfig-list-post"
            }
        },
        "/configuration/cpConfig/{configName}":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "delete":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"DeleteCPConfig",
                "summary":"Delete the Control Plane Configuration",
                "description":"Delete the control plane configuration.",
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/CPConfigIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-cpConfig-{configName}-delete",
                "x-filename-id":"configuration-cpconfig-configname-delete"
            },
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"GetCPConfig",
                "summary":"Get the Control Plane Configuration",
                "description":"Get a public control plane configuration as a one-entry string map.",
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/CPConfigIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/StringMap"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-cpConfig-{configName}-get",
                "x-filename-id":"configuration-cpconfig-configname-get"
            }
        },
        "/configuration/oidcProviderConfig":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"ListOidcProviderConfigs",
                "summary":"List OIDC Provider Configurations",
                "description":"List OIDC provider configurations. Client secrets are returned masked.",
                "produces":[
                    "application/json"
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/OidcProviderConfig"
                            }
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-oidcProviderConfig-get",
                "x-filename-id":"configuration-oidcproviderconfig-get"
            },
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"CreateOidcProviderConfig",
                "summary":"Create OIDC Provider Configuration",
                "description":"Create an OIDC provider configuration. The provider is activated only when `isActive=true`. This operation is rejected after any LDAP or OIDC provider has been activated, including when `isActive=false`.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"isActive",
                        "in":"query",
                        "type":"boolean",
                        "default":false,
                        "required":false,
                        "description":"Mark the created provider as active."
                    },
                    {
                        "in":"body",
                        "name":"payload",
                        "required":true,
                        "schema":{
                            "allOf":[
                                {
                                    "$ref":"#/definitions/OidcProviderConfig"
                                },
                                {
                                    "type":"object",
                                    "required":[
                                        "providerClientSecret"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/OidcProviderConfig"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-oidcProviderConfig-post",
                "x-filename-id":"configuration-oidcproviderconfig-post"
            }
        },
        "/configuration/oidcProviderConfig/active":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"SetActiveOidcProviderConfig",
                "summary":"Set OIDC Provider Configuration Active",
                "description":"Mark an existing OIDC provider configuration as active. You cannot activate more than one identity provider.",
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"id",
                        "in":"query",
                        "type":"string",
                        "required":true,
                        "description":"OIDC provider configuration identifier."
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/MessageResponse"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-oidcProviderConfig-active-post",
                "x-filename-id":"configuration-oidcproviderconfig-active-post"
            }
        },
        "/configuration/oidcProviderConfig/{id}":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"UpdateOidcProviderConfig",
                "summary":"Update OIDC Provider Configuration",
                "description":"Update an OIDC provider configuration. The provider is activated only when `isActive=true`. You cannot have more than one identity provider active.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/OidcProviderConfigIdentifierPathParam"
                    },
                    {
                        "name":"isActive",
                        "in":"query",
                        "type":"boolean",
                        "default":false,
                        "required":false,
                        "description":"Mark the provider as active after update."
                    },
                    {
                        "in":"body",
                        "name":"payload",
                        "required":true,
                        "schema":{
                            "allOf":[
                                {
                                    "$ref":"#/definitions/OidcProviderConfig"
                                }
                            ]
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/OidcProviderConfig"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-oidcProviderConfig-{id}-post",
                "x-filename-id":"configuration-oidcproviderconfig-id-post"
            },
            "delete":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"DeleteOidcProviderConfig",
                "summary":"Delete OIDC Provider Configuration",
                "description":"Delete an inactive OIDC provider configuration. An active provider cannot be deleted.",
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/OidcProviderConfigIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/MessageResponse"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-oidcProviderConfig-{id}-delete",
                "x-filename-id":"configuration-oidcproviderconfig-id-delete"
            }
        },
        "/configuration/richHistoryConfig":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Rich History"
                ],
                "operationId":"ListRichHistoryConfigs",
                "summary":"List Rich History Configurations",
                "description":"List rich history database configurations. BPM administrators receive full configurations. Instance administrators receive selected summaries containing only `id`, `configName`, and `databaseType`.",
                "produces":[
                    "application/json"
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/RichHistoryConfig"
                            }
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-richHistoryConfig-get",
                "x-filename-id":"configuration-richhistoryconfig-get"
            },
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Rich History"
                ],
                "operationId":"CreateRichHistoryConfig",
                "summary":"Create Rich History Configuration",
                "description":"Create a rich history database configuration. Oracle and MySQL configurations have different required connection properties.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "in":"body",
                        "name":"payload",
                        "required":true,
                        "schema":{
                            "allOf":[
                                {
                                    "$ref":"#/definitions/RichHistoryConfig"
                                },
                                {
                                    "type":"object",
                                    "required":[
                                        "configName",
                                        "username"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/RichHistoryConfig"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-richHistoryConfig-post",
                "x-filename-id":"configuration-richhistoryconfig-post"
            }
        },
        "/configuration/richHistoryConfig/multipart":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Rich History"
                ],
                "operationId":"CreateRichHistoryConfigMultipart",
                "summary":"Create Rich History Configuration with Wallet Package",
                "description":"Create a rich history database configuration using multipart form data. `walletPkg` applies to Oracle; `caCertFile` applies to MySQL.",
                "consumes":[
                    "multipart/form-data"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"payload",
                        "in":"formData",
                        "required":true,
                        "type":"string",
                        "description":"JSON string containing the rich history configuration.",
                        "default":"{\"configName\":\"string\",\"username\":\"string\",\"databaseType\":\"oracle\",\"connectionString\":\"string\"}"
                    },
                    {
                        "name":"walletPkg",
                        "in":"formData",
                        "type":"file",
                        "required":false,
                        "description":"Optional Oracle wallet package archive."
                    },
                    {
                        "name":"caCertFile",
                        "in":"formData",
                        "type":"file",
                        "required":false,
                        "description":"Optional MySQL CA certificate for the rich history database connection."
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/RichHistoryConfig"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-richHistoryConfig-multipart-post",
                "x-filename-id":"configuration-richhistoryconfig-multipart-post"
            }
        },
        "/configuration/richHistoryConfig/{id}":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Rich History"
                ],
                "operationId":"GetRichHistoryConfig",
                "summary":"Get Rich History Configuration",
                "description":"Get a rich history database configuration. BPM administrators receive the full configuration. Instance administrators receive only `id`, `configName`, and `databaseType`.",
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/RichHistoryConfigIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/RichHistoryConfig"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-richHistoryConfig-{id}-get",
                "x-filename-id":"configuration-richhistoryconfig-id-get"
            },
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Rich History"
                ],
                "operationId":"UpdateRichHistoryConfig",
                "summary":"Update Rich History Configuration",
                "description":"Update a rich history database configuration. Password is optional on update and remains unchanged when omitted or masked.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/RichHistoryConfigIdentifierPathParam"
                    },
                    {
                        "in":"body",
                        "name":"payload",
                        "required":true,
                        "schema":{
                            "allOf":[
                                {
                                    "$ref":"#/definitions/RichHistoryConfig"
                                },
                                {
                                    "type":"object",
                                    "required":[
                                        "configName",
                                        "username"
                                    ]
                                }
                            ]
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/RichHistoryConfig"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-richHistoryConfig-{id}-post",
                "x-filename-id":"configuration-richhistoryconfig-id-post"
            },
            "delete":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Rich History"
                ],
                "operationId":"DeleteRichHistoryConfig",
                "summary":"Delete Rich History Configuration",
                "description":"Delete a rich history database configuration.",
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/RichHistoryConfigIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/MessageResponse"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-richHistoryConfig-{id}-delete",
                "x-filename-id":"configuration-richhistoryconfig-id-delete"
            }
        },
        "/configuration/richHistoryConfig/{id}/multipart":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Rich History"
                ],
                "operationId":"UpdateRichHistoryConfigMultipart",
                "summary":"Update Rich History Configuration with Wallet Package",
                "description":"Update a rich history database configuration using multipart form data. `walletPkg` applies to Oracle; `caCertFile` applies to MySQL.",
                "consumes":[
                    "multipart/form-data"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/RichHistoryConfigIdentifierPathParam"
                    },
                    {
                        "name":"payload",
                        "in":"formData",
                        "required":true,
                        "type":"string",
                        "description":"JSON string containing the rich history configuration.",
                        "default":"{\"configName\":\"string\",\"username\":\"string\",\"databaseType\":\"oracle\",\"connectionString\":\"string\"}"
                    },
                    {
                        "name":"walletPkg",
                        "in":"formData",
                        "type":"file",
                        "required":false,
                        "description":"Optional replacement Oracle wallet package archive."
                    },
                    {
                        "name":"caCertFile",
                        "in":"formData",
                        "type":"file",
                        "required":false,
                        "description":"Optional MySQL CA certificate for the rich history database connection."
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/RichHistoryConfig"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-richHistoryConfig-{id}-multipart-post",
                "x-filename-id":"configuration-richhistoryconfig-id-multipart-post"
            }
        },
        "/configuration/ldapConfig":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"GetDefaultLdapConfigList",
                "summary":"Get the Default LDAP Configuration",
                "description":"Returns the only supported LDAP configuration: `DEFAULT-LDAP-ID-001`. Password values are masked. Returns 404 when the default configuration is absent.",
                "produces":[
                    "application/json"
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/LdapConfigDetail"
                            }
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-ldapConfig-get",
                "x-filename-id":"configuration-ldapconfig-get"
            }
        },
        "/configuration/ldapConfig/test":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"TestLdapConfig",
                "summary":"Test the Given LDAP Configuration",
                "description":"Test the given LDAP configuration",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"payload",
                        "in":"body",
                        "required":true,
                        "schema":{
                            "type":"object",
                            "description":"Default LDAP configuration payload.",
                            "required":[
                                "ldapName",
                                "ldapType",
                                "ldapHost",
                                "ldapPort",
                                "ldapTLSEnabled",
                                "ldapBaseDN",
                                "ldapBindDN",
                                "ldapBindPassword",
                                "userNameAttribute",
                                "userClassName",
                                "groupNameAttribute",
                                "groupMembershipAttribute",
                                "groupClassName"
                            ],
                            "properties":{
                                "ldapId":{
                                    "type":"string"
                                },
                                "ldapName":{
                                    "type":"string"
                                },
                                "ldapType":{
                                    "type":"string"
                                },
                                "ldapHost":{
                                    "type":"string"
                                },
                                "ldapPort":{
                                    "type":"integer",
                                    "minimum":1,
                                    "maximum":65535
                                },
                                "ldapTLSEnabled":{
                                    "type":"boolean",
                                    "description":"Must be true for the default OpenLDAP server."
                                },
                                "ldapBaseDN":{
                                    "type":"string"
                                },
                                "ldapBindDN":{
                                    "type":"string"
                                },
                                "ldapBindPassword":{
                                    "type":"string",
                                    "format":"password"
                                },
                                "userNameAttribute":{
                                    "type":"string"
                                },
                                "userClassName":{
                                    "type":"string"
                                },
                                "groupNameAttribute":{
                                    "type":"string"
                                },
                                "groupMembershipAttribute":{
                                    "type":"string"
                                },
                                "groupClassName":{
                                    "type":"string"
                                },
                                "connectTimeout":{
                                    "type":"integer"
                                },
                                "bpmUserGroup":{
                                    "type":"string"
                                },
                                "caAdminGroup":{
                                    "type":"string"
                                },
                                "instanceUserGroup":{
                                    "type":"string"
                                },
                                "instanceAdminGroup":{
                                    "type":"string"
                                },
                                "restProxyGroup":{
                                    "type":"string"
                                },
                                "backupHosts":{
                                    "type":"array",
                                    "maxItems":2,
                                    "items":{
                                        "type":"string"
                                    }
                                }
                            }
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK"
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-ldapConfig-test-post",
                "x-filename-id":"configuration-ldapconfig-test-post"
            }
        },
        "/configuration/ldapConfig/defaultPassword":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"ChangeDefaultLdapPassword",
                "summary":"Change the Default LDAP Password",
                "description":"Change the default LDAP password.",
                "consumes":[
                    "multipart/form-data"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"password",
                        "in":"formData",
                        "type":"string",
                        "format":"password",
                        "required":true,
                        "description":"New password for the default LDAP server."
                    }
                ],
                "responses":{
                    "200":{
                        "description":"Password changed.",
                        "schema":{
                            "$ref":"#/definitions/MessageResponse"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-ldapConfig-defaultPassword-post",
                "x-filename-id":"configuration-ldapconfig-defaultpassword-post"
            }
        },
        "/configuration/ldapConfig/{id}":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "put":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"UpdateLdapConfig",
                "summary":"Update the Default LDAP Configuration by ID",
                "description":"Update the only supported LDAP configuration `DEFAULT-LDAP-ID-001` before any identity provider is active. Certificate upload or replacement is not accepted; an existing stored certificate is preserved. After activation, update returns a 400.",
                "consumes":[
                    "multipart/form-data"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/LdapConfigIdentifierPathParam"
                    },
                    {
                        "name":"payload",
                        "in":"formData",
                        "type":"string",
                        "required":true,
                        "description":"JSON string containing the LDAP configuration fields used by the test operation.",
                        "default":"{\"ldapName\":\"string\",\"ldapType\":\"string\",\"ldapHost\":\"string\",\"ldapPort\":389,\"ldapTLSEnabled\":true,\"ldapBaseDN\":\"string\",\"ldapBindDN\":\"string\",\"ldapBindPassword\":\"string\",\"userNameAttribute\":\"string\",\"userClassName\":\"string\",\"groupNameAttribute\":\"string\",\"groupMembershipAttribute\":\"string\",\"groupClassName\":\"string\"}"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK"
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-ldapConfig-{id}-put",
                "x-filename-id":"configuration-ldapconfig-id-put"
            },
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"GetLdapConfig",
                "summary":"Get the Default LDAP Configuration by ID",
                "description":"Returns the only supported LDAP configuration: `DEFAULT-LDAP-ID-001`.",
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "$ref":"#/parameters/LdapConfigIdentifierPathParam"
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/LdapConfigDetail"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "404":{
                        "$ref":"#/responses/404"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-ldapConfig-{id}-get",
                "x-filename-id":"configuration-ldapconfig-id-get"
            }
        },
        "/configuration/ldapConfig/defaultLdap/ldapUser":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "post":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"AddUserToDefaultLdap",
                "summary":"Add a User to the Default LDAP Server",
                "description":"Add a user to the default OpenLDAP server and assign one or more global roles. The groups array must contain at least one supported role identifier.",
                "consumes":[
                    "application/json"
                ],
                "produces":[
                    "application/json"
                ],
                "parameters":[
                    {
                        "name":"payload",
                        "in":"body",
                        "required":true,
                        "schema":{
                            "type":"object",
                            "required":[
                                "ldapUserName",
                                "ldapUserPassword",
                                "groups"
                            ],
                            "properties":{
                                "ldapUserName":{
                                    "type":"string",
                                    "description":"LDAP UserName"
                                },
                                "ldapUserPassword":{
                                    "type":"string",
                                    "format":"password",
                                    "description":"LDAP User Password"
                                },
                                "groups":{
                                    "type":"array",
                                    "minItems":1,
                                    "description":"Global roles to assign to the new OpenLDAP user.",
                                    "items":{
                                        "type":"string",
                                        "enum":[
                                            "bpmAdmin",
                                            "instanceAdmin",
                                            "instanceOperator",
                                            "instanceApiClient",
                                            "walletSuperAdmin",
                                            "walletOrgAdmin",
                                            "walletOrgUser",
                                            "daSuperAdmin",
                                            "daTokenAdmin",
                                            "daDeployer",
                                            "daApprover"
                                        ]
                                    }
                                }
                            }
                        }
                    }
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/MessageResponse"
                        }
                    },
                    "400":{
                        "$ref":"#/responses/400"
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "409":{
                        "$ref":"#/responses/409"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-ldapConfig-defaultLdap-ldapUser-post",
                "x-filename-id":"configuration-ldapconfig-defaultldap-ldapuser-post"
            }
        },
        "/configuration/release/buildInfo":{
            "parameters":[
                {
                    "$ref":"#/parameters/AuthorizationHeader"
                }
            ],
            "get":{
                "tags":[
                    "Blockchain Platform Administrative Operations/Configuration"
                ],
                "operationId":"GetReleaseBuildInfo",
                "summary":"Get the Release Build Information",
                "description":"Get the release build information.",
                "produces":[
                    "application/json"
                ],
                "responses":{
                    "200":{
                        "description":"OK",
                        "schema":{
                            "$ref":"#/definitions/ReleaseBuildInfo"
                        }
                    },
                    "401":{
                        "$ref":"#/responses/401"
                    },
                    "403":{
                        "$ref":"#/responses/403"
                    },
                    "500":{
                        "$ref":"#/responses/500"
                    }
                },
                "x-internal-id":"configuration-release-buildInfo-get",
                "x-filename-id":"configuration-release-buildinfo-get"
            }
        }
    },
    "definitions":{
        "Error":{
            "description":"Error Information.",
            "required":[
                "status",
                "message"
            ],
            "properties":{
                "status":{
                    "description":"A short error status that defines the error, meant for programmatic parsing.",
                    "type":"string"
                },
                "message":{
                    "description":"A human-readable error string.",
                    "type":"string"
                },
                "errors":{
                    "type":"array",
                    "description":"list of errors",
                    "items":{
                        "type":"string"
                    }
                },
                "warnings":{
                    "type":"array",
                    "description":"list of warnings",
                    "items":{
                        "type":"string"
                    }
                }
            }
        },
        "AuthError":{
            "description":"Authentication or authorization error returned by request filters.",
            "type":"object",
            "required":[
                "code",
                "message"
            ],
            "properties":{
                "code":{
                    "type":"string",
                    "enum":[
                        "UNAUTHENTICATED",
                        "FORBIDDEN",
                        "NOT_FOUND"
                    ]
                },
                "message":{
                    "type":"string"
                }
            }
        },
        "MessageResponse":{
            "description":"Generic message response.",
            "type":"object",
            "properties":{
                "status":{
                    "type":"string"
                },
                "message":{
                    "type":"string"
                },
                "errors":{
                    "type":"array",
                    "items":{
                        "type":"string"
                    }
                },
                "warnings":{
                    "type":"array",
                    "items":{
                        "type":"string"
                    }
                },
                "id":{
                    "type":"string"
                }
            }
        },
        "AuthCredentials":{
            "description":"Console authentication credentials.",
            "type":"object",
            "properties":{
                "userName":{
                    "type":"string"
                },
                "userPassword":{
                    "type":"string"
                },
                "refreshToken":{
                    "type":"string"
                }
            }
        },
        "TokenResponse":{
            "description":"Tokens issued by the identity provider.",
            "type":"object",
            "properties":{
                "access_token":{
                    "type":"string"
                },
                "expires_in":{
                    "type":"integer",
                    "format":"int64"
                },
                "refresh_expires_in":{
                    "type":"integer",
                    "format":"int64"
                },
                "refresh_token":{
                    "type":"string"
                },
                "token_type":{
                    "type":"string"
                },
                "id_token":{
                    "type":"string"
                },
                "not-before-policy":{
                    "type":"integer",
                    "format":"int64"
                },
                "session_state":{
                    "type":"string"
                },
                "scope":{
                    "type":"string"
                }
            }
        },
        "ActiveProviderResponse":{
            "description":"Active provider name response.",
            "type":"object",
            "properties":{
                "providerName":{
                    "type":"string",
                    "description":"Provider name. It cannot be Default, which is reserved for the built-in LDAP configuration."
                }
            }
        },
        "ClientCredentials":{
            "description":"Besu client credentials.",
            "type":"object",
            "required":[
                "CLIENT_ID",
                "CLIENT_SECRET",
                "IDENTITY_PROVIDER_TYPE"
            ],
            "properties":{
                "CLIENT_ID":{
                    "type":"string"
                },
                "CLIENT_SECRET":{
                    "type":"string"
                },
                "IDENTITY_PROVIDER_TYPE":{
                    "type":"string",
                    "enum":[
                        "LDAP",
                        "OIDC"
                    ],
                    "description":"Identity-provider type used by the instance."
                },
                "ACCESS_TOKEN_ENDPOINT":{
                    "type":"string",
                    "description":"OIDC token endpoint. Present only when IDENTITY_PROVIDER_TYPE is OIDC."
                }
            }
        },
        "OidcProviderConfig":{
            "description":"OIDC provider configuration.",
            "type":"object",
            "required":[
                "providerName",
                "providerType",
                "providerWellKnownConfigUri",
                "providerScope",
                "providerClientClaimName",
                "providerClientClaimValue",
                "providerGroupsClaimName",
                "providerClientId",
                "providerUserClaimName",
                "bpmAdminGroup",
                "instanceAdminGroup",
                "instanceOperatorGroup",
                "instanceApiClientGroup",
                "fabricCaAdminGroup",
                "walletSuperAdminGroup",
                "walletOrgAdminGroup",
                "walletOrgUserGroup",
                "daSuperAdminGroup",
                "daTokenAdminGroup",
                "daDeployerGroup",
                "daApproverGroup"
            ],
            "properties":{
                "providerId":{
                    "type":"string",
                    "readOnly":true
                },
                "providerName":{
                    "type":"string"
                },
                "providerType":{
                    "type":"string"
                },
                "providerissuerUrl":{
                    "type":"string",
                    "readOnly":true,
                    "description":"Populated from providerWellKnownConfigUri."
                },
                "providerjwksUri":{
                    "type":"string",
                    "readOnly":true,
                    "description":"Populated from providerWellKnownConfigUri."
                },
                "providerAuthEndpoint":{
                    "type":"string",
                    "readOnly":true,
                    "description":"Populated from providerWellKnownConfigUri."
                },
                "providerTokenEndpoint":{
                    "type":"string",
                    "readOnly":true,
                    "description":"Populated from providerWellKnownConfigUri."
                },
                "providerWellKnownConfigUri":{
                    "type":"string",
                    "description":"Required OIDC discovery document URI."
                },
                "providerEndSessionEndpoint":{
                    "type":"string",
                    "readOnly":true,
                    "description":"Populated from <code>providerWellKnownConfigUri</code> when advertised by the provider."
                },
                "providerScope":{
                    "type":"string"
                },
                "providerClientClaimName":{
                    "type":"string"
                },
                "providerClientClaimValue":{
                    "type":"string"
                },
                "providerGroupsClaimName":{
                    "type":"string"
                },
                "providerClientId":{
                    "type":"string"
                },
                "providerClientSecret":{
                    "type":"string",
                    "format":"password",
                    "description":"Required on create and optional on update. Returned masked."
                },
                "providerUserClaimName":{
                    "type":"string"
                },
                "bpmAdminGroup":{
                    "type":"string"
                },
                "walletSuperAdminGroup":{
                    "type":"string"
                },
                "instanceAdminGroup":{
                    "type":"string"
                },
                "instanceOperatorGroup":{
                    "type":"string"
                },
                "instanceApiClientGroup":{
                    "type":"string"
                },
                "fabricCaAdminGroup":{
                    "type":"string"
                },
                "walletOrgAdminGroup":{
                    "type":"string"
                },
                "walletOrgUserGroup":{
                    "type":"string"
                },
                "daSuperAdminGroup":{
                    "type":"string"
                },
                "daTokenAdminGroup":{
                    "type":"string"
                },
                "daDeployerGroup":{
                    "type":"string"
                },
                "daApproverGroup":{
                    "type":"string"
                },
                "active":{
                    "type":"boolean",
                    "readOnly":true
                }
            }
        },
        "RichHistoryConfig":{
            "description":"Rich History database configuration. Returned passwords are masked. Oracle and MySQL use different conditional fields.",
            "type":"object",
            "properties":{
                "id":{
                    "type":"string"
                },
                "configName":{
                    "type":"string"
                },
                "dbName":{
                    "type":"string",
                    "description":"MySQL database name. For Oracle, use <code>connectionString</code>."
                },
                "databaseType":{
                    "type":"string",
                    "enum":[
                        "oracle",
                        "mysql"
                    ],
                    "default":"oracle"
                },
                "username":{
                    "type":"string"
                },
                "password":{
                    "type":"string",
                    "format":"password",
                    "description":"Required for MySQL create; optional for update. Returned masked."
                },
                "connectionString":{
                    "type":"string",
                    "description":"Required for Oracle."
                },
                "endpoint":{
                    "type":"string",
                    "description":"Required for MySQL."
                },
                "useBlockchainTable":{
                    "type":"boolean"
                },
                "retentionMode":{
                    "type":"string",
                    "enum":[
                        "advanced"
                    ],
                    "description":"Required and must be advanced when <code>useBlockchainTable</code> is true."
                },
                "advanced":{
                    "$ref":"#/definitions/RichHistoryAdvancedConfig"
                },
                "walletArchiveName":{
                    "type":"string"
                },
                "walletArchiveBytes":{
                    "type":"string",
                    "format":"byte",
                    "description":"Request-only base64 Oracle wallet archive accepted by JSON create or update."
                },
                "caCertFileName":{
                    "type":"string",
                    "description":"MySQL CA certificate filename."
                },
                "caCertFileBytes":{
                    "type":"string",
                    "format":"byte",
                    "description":"Request-only base64 MySQL CA certificate accepted by JSON create or update."
                }
            }
        },
        "RichHistoryAdvancedConfig":{
            "description":"Advanced rich history retention configuration.",
            "type":"object",
            "properties":{
                "query":{
                    "type":"string"
                }
            }
        },
        "BesuInstanceCreationDetails":{
            "description":"Besu instance creation details.",
            "type":"object",
            "required":[
                "name",
                "domainName",
                "instanceAccessGroup",
                "platformRole",
                "configuration",
                "archiveNodes"
            ],
            "properties":{
                "name":{
                    "type":"string",
                    "pattern":"^[a-z][a-z0-9]{0,14}$",
                    "description":"Lowercase ASCII alphanumeric instance name, starting with a letter, maximum 15 characters."
                },
                "desc":{
                    "type":"string",
                    "description":"description"
                },
                "domainName":{
                    "type":"string",
                    "description":"Lowercase domain name including a top-level domain."
                },
                "instanceAccessGroup":{
                    "type":"string",
                    "minLength":1,
                    "description":"Customer-managed identity provider group whose members may access this instance."
                },
                "platformRole":{
                    "type":"string",
                    "enum":[
                        "founder",
                        "participant"
                    ]
                },
                "configuration":{
                    "type":"string",
                    "enum":[
                        "Developer",
                        "Enterprise",
                        "Digital Assets"
                    ]
                },
                "chainId":{
                    "type":"integer",
                    "description":"Chain identifier. Required for founder instances; derived from the genesis package for participants."
                },
                "validatorNodes":{
                    "type":"integer",
                    "minimum":0,
                    "maximum":7,
                    "description":"Founder requires at least 4 when supplied; participant may use 0."
                },
                "bootNodes":{
                    "type":"integer",
                    "minimum":0,
                    "maximum":2,
                    "description":"Founder requires at least 1 when supplied; participant may use 0."
                },
                "rpcNodes":{
                    "type":"integer",
                    "minimum":1,
                    "maximum":3
                },
                "archiveNodes":{
                    "type":"integer",
                    "minimum":1,
                    "maximum":2
                },
                "qbft":{
                    "$ref":"#/definitions/BesuQbftConfig"
                },
                "misc":{
                    "$ref":"#/definitions/BesuMiscConfig"
                },
                "alloc":{
                    "type":"object",
                    "additionalProperties":{
                        "type":"string"
                    }
                },
                "richHistoryConfigId":{
                    "type":"string"
                },
                "keyManagementServiceConfigId":{
                    "type":"string",
                    "description":"Identifier of the key management service configuration to use for this instance."
                },
                "providerConfig":{
                    "$ref":"#/definitions/BesuIdpConfig"
                },
                "smartContractGovernance":{
                    "description":"For a founder in Governed mode, <code>daAdmin.userId</code> is required.",
                    "type":"object",
                    "properties":{
                        "mode":{
                            "type":"string",
                            "enum":[
                                "Governed",
                                "NoOp"
                            ]
                        },
                        "daAdmin":{
                            "type":"object",
                            "properties":{
                                "userId":{
                                    "type":"string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "BesuQbftConfig":{
            "description":"Besu QBFT configuration.",
            "type":"object",
            "properties":{
                "blockPeriodSeconds":{
                    "type":"integer",
                    "minimum":1,
                    "maximum":60
                },
                "emptyBlockPeriodSeconds":{
                    "type":"integer"
                },
                "epochLength":{
                    "type":"integer"
                },
                "requestTimeoutSeconds":{
                    "type":"integer"
                }
            }
        },
        "BesuMiscConfig":{
            "description":"Besu genesis miscellaneous configuration.",
            "type":"object",
            "properties":{
                "gasLimit":{
                    "type":"string"
                },
                "difficulty":{
                    "type":"string"
                },
                "mixHash":{
                    "type":"string"
                },
                "coinbase":{
                    "type":"string"
                },
                "terminalTotalDifficulty":{
                    "type":"integer"
                },
                "blockRewardWei":{
                    "type":"integer"
                },
                "contractSizeLimit":{
                    "type":"integer"
                },
                "zeroBaseFee":{
                    "type":"boolean"
                }
            }
        },
        "BesuIdpConfig":{
            "description":"Besu identity provider configuration.",
            "type":"object",
            "properties":{
                "providerId":{
                    "type":"string"
                },
                "providerName":{
                    "type":"string"
                },
                "isIdpEnabled":{
                    "type":"boolean"
                },
                "issuerUri":{
                    "type":"string"
                },
                "jwksUri":{
                    "type":"string"
                },
                "audiences":{
                    "type":"array",
                    "items":{
                        "type":"string"
                    }
                },
                "issuerClaims":{
                    "$ref":"#/definitions/StringArrayMap"
                },
                "clientClaims":{
                    "$ref":"#/definitions/StringArrayMap"
                },
                "groupClaims":{
                    "$ref":"#/definitions/StringArrayMap"
                },
                "rpcClientCredentials":{
                    "$ref":"#/definitions/StringMap"
                },
                "svcConsoleClientCredentials":{
                    "$ref":"#/definitions/StringMap"
                },
                "instanceClientCredentials":{
                    "$ref":"#/definitions/StringMap"
                }
            }
        },
        "StringMap":{
            "description":"Map of string keys to string values.",
            "type":"object",
            "additionalProperties":{
                "type":"string"
            }
        },
        "StringArrayMap":{
            "description":"Map of string keys to string arrays.",
            "type":"object",
            "additionalProperties":{
                "type":"array",
                "items":{
                    "type":"string"
                }
            }
        },
        "BesuInstancesSummaryWrapper":{
            "description":"Besu instances summary list wrapper.",
            "type":"object",
            "properties":{
                "instances":{
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/BesuInstanceSummary"
                    }
                },
                "summary":{
                    "$ref":"#/definitions/BesuInstancesCountSummary"
                }
            }
        },
        "BesuInstanceSummary":{
            "description":"Besu Instance summary.",
            "type":"object",
            "properties":{
                "id":{
                    "type":"string"
                },
                "displayName":{
                    "type":"string"
                },
                "timeCreated":{
                    "type":"string",
                    "format":"date-time"
                },
                "timeUpdated":{
                    "type":"string",
                    "format":"date-time"
                },
                "createdBy":{
                    "type":"string"
                },
                "createActivityId":{
                    "type":"string"
                },
                "platformRole":{
                    "type":"string",
                    "enum":[
                        "founder",
                        "participant"
                    ]
                },
                "configuration":{
                    "type":"string",
                    "enum":[
                        "Developer",
                        "Enterprise",
                        "Digital Assets"
                    ]
                },
                "status":{
                    "type":"string",
                    "enum":[
                        "Healthy",
                        "Unhealthy",
                        "Down",
                        "Unknown",
                        "Stopped"
                    ]
                },
                "lifecycleState":{
                    "type":"string",
                    "enum":[
                        "Creating",
                        "Active",
                        "Inactive",
                        "Updating",
                        "Scaling",
                        "Terminating",
                        "Terminated",
                        "Starting",
                        "Stopping",
                        "Stopped",
                        "UpdatingCertificates",
                        "Scaling Out",
                        "Scaling In",
                        "Unknown",
                        "Pending Creation",
                        "Failed"
                    ]
                },
                "version":{
                    "type":"string"
                },
                "domainName":{
                    "type":"string"
                },
                "instanceAccessGroup":{
                    "type":"string"
                },
                "chainId":{
                    "type":"integer",
                    "format":"int32"
                },
                "authProviderName":{
                    "type":"string"
                },
                "stateMessage":{
                    "type":"string"
                },
                "serviceEndpoint":{
                    "type":"string"
                },
                "earliestCertExpiry":{
                    "type":"string",
                    "format":"date-time"
                },
                "autoRenewCertsAt":{
                    "type":"string"
                },
                "statusDisplayName":{
                    "type":"string"
                }
            }
        },
        "BesuInstanceDetails":{
            "description":"Full Besu instance details.",
            "allOf":[
                {
                    "$ref":"#/definitions/BesuInstanceSummary"
                },
                {
                    "type":"object",
                    "properties":{
                        "components":{
                            "type":"array",
                            "items":{
                                "$ref":"#/definitions/BesuComponent"
                            }
                        },
                        "ldapAuthConfig":{
                            "$ref":"#/definitions/LdapConfigDetail"
                        },
                        "richHistoryConfigId":{
                            "type":"string"
                        },
                        "richHistoryConfigName":{
                            "type":"string"
                        }
                    }
                }
            ]
        },
        "BesuComponent":{
            "description":"Besu component details.",
            "type":"object",
            "properties":{
                "name":{
                    "type":"string"
                },
                "type":{
                    "type":"string",
                    "enum":[
                        "validator",
                        "bootnode",
                        "archivenode",
                        "rpc",
                        "rpcproxy",
                        "serviceconsole",
                        "archive"
                    ]
                },
                "status":{
                    "type":"string",
                    "enum":[
                        "PENDING",
                        "PROVISIONED",
                        "FAILED",
                        "TERMINATING",
                        "TERMINATED"
                    ]
                },
                "replicas":{
                    "type":"integer"
                },
                "alias":{
                    "type":"string"
                },
                "version":{
                    "type":"string"
                }
            }
        },
        "BesuInstancesCountSummary":{
            "description":"Blockchain Platform Summary",
            "type":"object",
            "properties":{
                "instancesCount":{
                    "description":"total number of instances",
                    "type":"integer"
                },
                "founderCount":{
                    "description":"total number of founder instances",
                    "type":"integer"
                },
                "participantCount":{
                    "description":"total number of participant instances",
                    "type":"integer"
                },
                "enterpriseCount":{
                    "description":"total number of enterprise instances",
                    "type":"integer"
                },
                "developerCount":{
                    "description":"total number of developer instances",
                    "type":"integer"
                },
                "digitalAssetsCount":{
                    "description":"total number of digital assets instances",
                    "type":"integer"
                }
            }
        },
        "ActivityStatus":{
            "type":"object",
            "properties":{
                "instanceId":{
                    "type":"string",
                    "description":"Instance ID"
                },
                "operationId":{
                    "type":"string",
                    "description":"Activity identifier used for polling."
                },
                "operation":{
                    "type":"string",
                    "description":"Operation querying",
                    "enum":[
                        "create",
                        "delete",
                        "start",
                        "stop",
                        "update",
                        "scaleout",
                        "scalein"
                    ]
                },
                "status":{
                    "type":"string",
                    "description":"Will be returned after it succeeds."
                },
                "details":{
                    "type":"string",
                    "description":"e.g. step info, fail reason"
                }
            }
        },
        "ReleaseBuildInfo":{
            "description":"Release Build Information",
            "type":"object",
            "properties":{
                "version":{
                    "type":"string"
                },
                "build.date":{
                    "type":"string"
                }
            }
        },
        "LdapConfigDetail":{
            "description":"LDAP Configuration details",
            "type":"object",
            "properties":{
                "ldapId":{
                    "type":"string"
                },
                "ldapName":{
                    "type":"string"
                },
                "ldapType":{
                    "type":"string"
                },
                "ldapHost":{
                    "type":"string"
                },
                "ldapPort":{
                    "type":"integer"
                },
                "ldapTLSEnabled":{
                    "type":"boolean"
                },
                "ldapTLSCACert":{
                    "type":"string"
                },
                "ldapBaseDN":{
                    "type":"string"
                },
                "ldapBindDN":{
                    "type":"string"
                },
                "ldapBindPassword":{
                    "type":"string",
                    "format":"password",
                    "description":"Returned masked."
                },
                "userNameAttribute":{
                    "type":"string"
                },
                "userClassName":{
                    "type":"string"
                },
                "groupNameAttribute":{
                    "type":"string"
                },
                "groupMembershipAttribute":{
                    "type":"string"
                },
                "groupClassName":{
                    "type":"string"
                },
                "connectTimeout":{
                    "type":"integer"
                },
                "bpmUserGroup":{
                    "type":"string",
                    "description":"Users with membership to this group can login and have full access Blockchain Platform Manager (this console) and perform life cycle operations on the Blockchain instances. Required only for AD"
                },
                "caAdminGroup":{
                    "type":"string",
                    "description":"Users part of this group will have the authority to register other users. CA Administrator privilege is also needed to create a new Blockchain instance. Required only for AD"
                },
                "instanceUserGroup":{
                    "type":"string",
                    "description":"Users with membership to this group can view an instances console via UI or REST. They will not be able to perform any other operations. Required only for AD"
                },
                "instanceAdminGroup":{
                    "type":"string",
                    "description":"Users with membership to this group can have full access to an instance console and perform all the operations on it via UI or REST APIs. Required only for AD"
                },
                "restProxyGroup":{
                    "type":"string",
                    "description":"Users with membership to this group can interact with the instance using Rest Proxy APIs. Required only for AD"
                },
                "backupHosts":{
                    "type":"array",
                    "description":"List of backup domain controllers for AD",
                    "maxItems":2,
                    "items":{
                        "type":"string"
                    }
                },
                "tlsRootCACertFileName":{
                    "type":"string",
                    "description":"Existing LDAP TLS root CA certificate filename, when present."
                },
                "idbClientId":{
                    "type":"string",
                    "description":"IDB client id. Populated only for the default LDAP configuration."
                },
                "idbClientSecret":{
                    "type":"string",
                    "description":"IDB client secret. Populated only for the default LDAP configuration."
                }
            }
        },
        "CpConfigMap":{
            "description":"Public control plane configuration map. Server-managed controlPlaneId is omitted.",
            "type":"object",
            "properties":{
                "activeLdapId":{
                    "type":"string",
                    "enum":[
                        "DEFAULT-LDAP-ID-001"
                    ],
                    "description":"The only supported LDAP identifier. Saving this value activates default LDAP before any provider has been activated."
                },
                "consoleIdleTimeout":{
                    "type":"string",
                    "description":"Timeout time (in minutes) of Idle CP"
                },
                "notificationTimeout":{
                    "type":"string",
                    "description":"Timeout(in minutes) for notifications"
                }
            }
        },
        "BesuInstanceStatus":{
            "description":"Besu instance status",
            "type":"object",
            "properties":{
                "instanceId":{
                    "type":"string"
                },
                "status":{
                    "type":"string"
                },
                "details":{
                    "type":"string"
                }
            }
        },
        "PostLoginAuthConfig":{
            "description":"Post login auth configuration map",
            "type":"object",
            "properties":{
                "ldapConfigReminderPopup":{
                    "type":"boolean"
                },
                "defaultUserDisabled":{
                    "type":"boolean"
                },
                "consoleIdleTimeout":{
                    "type":"string"
                }
            }
        },
        "InstanceActivityInfoSummary":{
            "description":"Activities for blockchain Platform Instance",
            "type":"object",
            "properties":{
                "activities":{
                    "description":"List activities associated with the blockchain platform instance",
                    "type":"array",
                    "items":{
                        "$ref":"#/definitions/ActivityInfoSummary"
                    }
                }
            }
        },
        "ActivityInfoSummary":{
            "type":"object",
            "properties":{
                "instanceId":{
                    "type":"string",
                    "description":"Platform Instance ID"
                },
                "instanceName":{
                    "type":"string",
                    "description":"Name of the Platform Instance"
                },
                "operation":{
                    "type":"string",
                    "description":"Operation name"
                },
                "operationId":{
                    "type":"string",
                    "description":"Operation ID"
                },
                "operationStatus":{
                    "type":"string",
                    "description":"Operation status"
                },
                "operationStartTime":{
                    "type":"string",
                    "format":"date-time",
                    "description":"Time when the operation has started"
                },
                "lastUpdatedTime":{
                    "type":"string",
                    "format":"date-time",
                    "description":"Latest time when the operation status has been tracked"
                },
                "initiatedBy":{
                    "type":"string",
                    "description":"User who has initiated the activity"
                },
                "details":{
                    "type":"string",
                    "description":"Detail message from the latest status of the operation"
                }
            }
        }
    },
    "parameters":{
        "AuthorizationHeader":{
            "name":"Authorization",
            "in":"header",
            "type":"string",
            "required":true,
            "description":"Bearer access token. Supply as: Bearer <access-token>."
        },
        "IncludeSummaryQueryParam":{
            "name":"includeSummary",
            "in":"query",
            "type":"boolean",
            "default":false,
            "description":"Include instances summary."
        },
        "IncludePendingQueryParam":{
            "name":"includePending",
            "in":"query",
            "type":"boolean",
            "default":false,
            "description":"Include pending instances in summary calculations."
        },
        "BesuInstanceIdentifierPathParam":{
            "name":"id",
            "type":"string",
            "in":"path",
            "required":true,
            "description":"Unique Besu instance identifier"
        },
        "LdapConfigIdentifierPathParam":{
            "name":"id",
            "type":"string",
            "in":"path",
            "required":true,
            "enum":[
                "DEFAULT-LDAP-ID-001"
            ],
            "description":"Identifier of the only supported LDAP configuration."
        },
        "OidcProviderConfigIdentifierPathParam":{
            "name":"id",
            "type":"string",
            "in":"path",
            "required":true,
            "description":"unique OIDC provider config identifier"
        },
        "RichHistoryConfigIdentifierPathParam":{
            "name":"id",
            "type":"string",
            "in":"path",
            "required":true,
            "description":"unique Rich History config identifier"
        },
        "CPConfigIdentifierPathParam":{
            "name":"configName",
            "type":"string",
            "in":"path",
            "required":true,
            "description":"unique cp config identifier"
        },
        "InstanceNameTextQueryParam":{
            "name":"instanceNameText",
            "in":"query",
            "type":"string",
            "description":"Instance name text to be used as a search criteria"
        },
        "OperationsQueryParam":{
            "name":"operations",
            "in":"query",
            "type":"string",
            "description":"A comma separated list of operation types for which activities are to be retrieved"
        },
        "FromDateQueryParam":{
            "name":"fromDate",
            "in":"query",
            "type":"string",
            "description":"Lower bound of date range search criteria in format yyyy-MM-dd"
        },
        "ToDateQueryParam":{
            "name":"toDate",
            "in":"query",
            "type":"string",
            "description":"Higher bound of date range search criteria in format yyyy-MM-dd"
        },
        "PlatformTypeQueryParam":{
            "name":"platformType",
            "in":"query",
            "type":"string",
            "enum":[
                "besu"
            ],
            "description":"Optional activity platform filter. Only Besu activities are supported."
        },
        "PlatformTypeLowercaseQueryParam":{
            "name":"platformtype",
            "in":"query",
            "type":"string",
            "enum":[
                "besu"
            ],
            "description":"Backward-compatible lowercase alias for `platformType`. When both are supplied, `platformType` takes precedence."
        }
    },
    "responses":{
        "400":{
            "description":"Bad Request",
            "schema":{
                "$ref":"#/definitions/Error"
            }
        },
        "401":{
            "description":"Unauthorized",
            "schema":{
                "$ref":"#/definitions/AuthError"
            }
        },
        "403":{
            "description":"Forbidden. The authenticated caller lacks a required global role, instance-access-group membership, or a valid CSRF token.",
            "schema":{
                "$ref":"#/definitions/AuthError"
            }
        },
        "404":{
            "description":"Not Found",
            "schema":{
                "$ref":"#/definitions/Error"
            }
        },
        "409":{
            "description":"Operation conflict",
            "schema":{
                "$ref":"#/definitions/Error"
            }
        },
        "410":{
            "description":"Gone. This endpoint is unsupported.",
            "schema":{
                "$ref":"#/definitions/Error"
            }
        },
        "412":{
            "description":"Precondition failed",
            "schema":{
                "$ref":"#/definitions/Error"
            }
        },
        "429":{
            "description":"Too Many Requests",
            "schema":{
                "$ref":"#/definitions/Error"
            }
        },
        "500":{
            "description":"Internal Server Error",
            "schema":{
                "$ref":"#/definitions/Error"
            }
        },
        "default":{
            "description":"Unknown Error",
            "schema":{
                "$ref":"#/definitions/Error"
            }
        }
    }
}