search-cloud-diagrams
dci search-cloud-diagrams
Full-text search across statussheets (cloud accounts), components by name, and components by property values. Returns three result categories: scheme (matching statussheets), component (matching components by name), and prop (matching components by property values).
Requestβ
Content-Type: application/json
Schemaβ
{
"type": "object",
"required": [
"query"
],
"description": "Request body for searching diagrams and components.",
"properties": {
"query": {
"type": "string",
"description": "Search query string."
},
"ss_id": {
"type": "string",
"description": "Limit search to components within this statussheet."
},
"from": {
"type": "integer",
"minimum": 0,
"description": "Pagination offset (default 0)."
},
"size": {
"type": "integer",
"minimum": 1,
"description": "Maximum number of results per category (default 20)."
}
}
}
Responsesβ
200 (application/json)β
OK - Search results returned.
{
"type": "object",
"description": "Search results grouped into three categories.",
"properties": {
"scheme": {
"type": "array",
"description": "statussheets (cloud accounts) matching the query.",
"items": {
"type": "object",
"required": [
"_id",
"type"
],
"description": "A statussheet (cloud account) matching the search query.",
"properties": {
"_id": {
"type": "string",
"description": "Statussheet ID."
},
"account_name": {
"type": "string",
"description": "Cloud account name."
},
"scheme_id": {
"type": "string",
"description": "Parent diagram ID."
},
"ss_id": {
"type": "string",
"description": "Statussheet ID (same as _id)."
},
"scheme": {
"type": "string",
"description": "Parent diagram name."
},
"status": {
"type": "string",
"description": "Import/sync status."
},
"name": {
"type": "string",
"description": "Statussheet name."
},
"type": {
"type": "string",
"enum": [
"statussheet"
],
"description": "Component type β always \"statussheet\" for this category."
}
}
}
},
"component": {
"type": "array",
"description": "Components matching the query by name.",
"items": {
"type": "object",
"required": [
"_id",
"type"
],
"description": "A component matching the search query.",
"properties": {
"_id": {
"type": "string",
"description": "Component ID."
},
"account_name": {
"type": "string",
"description": "Cloud account name."
},
"icon": {
"type": "string",
"description": "Component icon identifier."
},
"color": {
"type": "string",
"description": "Component color."
},
"scheme_id": {
"type": "string",
"description": "Parent diagram ID."
},
"ss_id": {
"type": "string",
"description": "Statussheet ID."
},
"name": {
"type": "string",
"description": "Component name."
},
"type": {
"type": "string",
"enum": [
"attachment",
"combiner",
"element",
"group",
"link",
"node",
"note"
],
"description": "Component type."
},
"node_type": {
"type": "string",
"enum": [
"app_component",
"app_group",
"app_link",
"attachment",
"group",
"host",
"link",
"service"
],
"description": "Node type."
},
"group_type": {
"type": "string",
"description": "Group type (for group components)."
},
"props": {
"type": "object",
"description": "Component properties. For the \"prop\" category contains the matched property key-value pairs.",
"properties": {
"service_type": {
"type": "string",
"description": "Cloud service type (e.g. AWS::EC2::Instance)."
}
}
}
}
}
},
"prop": {
"type": "array",
"description": "Components matching the query by property values.",
"items": {
"type": "object",
"required": [
"_id",
"type"
],
"description": "A component matching the search query.",
"properties": {
"_id": {
"type": "string",
"description": "Component ID."
},
"account_name": {
"type": "string",
"description": "Cloud account name."
},
"icon": {
"type": "string",
"description": "Component icon identifier."
},
"color": {
"type": "string",
"description": "Component color."
},
"scheme_id": {
"type": "string",
"description": "Parent diagram ID."
},
"ss_id": {
"type": "string",
"description": "Statussheet ID."
},
"name": {
"type": "string",
"description": "Component name."
},
"type": {
"type": "string",
"enum": [
"attachment",
"combiner",
"element",
"group",
"link",
"node",
"note"
],
"description": "Component type."
},
"node_type": {
"type": "string",
"enum": [
"app_component",
"app_group",
"app_link",
"attachment",
"group",
"host",
"link",
"service"
],
"description": "Node type."
},
"group_type": {
"type": "string",
"description": "Group type (for group components)."
},
"props": {
"type": "object",
"description": "Component properties. For the \"prop\" category contains the matched property key-value pairs.",
"properties": {
"service_type": {
"type": "string",
"description": "Cloud service type (e.g. AWS::EC2::Instance)."
}
}
}
}
}
}
}
}
400 (application/json)β
Bad Request - The server cannot process the request, often due to a malformed request.
{
"type": "object",
"description": "Standard error response structure.",
"properties": {
"error": {
"type": "string",
"description": "Detailed error message."
}
}
}
401 (application/json)β
Unauthorized - Invalid API key.
{
"type": "object",
"description": "Standard error response structure.",
"properties": {
"error": {
"type": "string",
"description": "Detailed error message."
}
}
}
403 (application/json)β
Forbidden - The client is not authorized to perform the request.
{
"type": "object",
"description": "Standard error response structure.",
"properties": {
"error": {
"type": "string",
"description": "Detailed error message."
}
}
}
Aliases: search-cloud-diagrams, searchclouddiagrams