Skip to content

Commit 771929b

Browse files
docs: new endpoint for v8.5.0 (#159)
1 parent 057ce6a commit 771929b

3 files changed

Lines changed: 216 additions & 10 deletions

File tree

docs/docs.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -632,6 +632,7 @@
632632
"reference/asset-isolation/get-asset-group-tag-selectors-of-a-specific-object-by-member-id",
633633
"reference/asset-isolation/list-asset-group-tag-member-count-by-kind",
634634
"reference/asset-isolation/list-asset-group-tag-members-by-selector",
635+
"reference/asset-isolation/list-asset-group-tag-selector-member-count-by-kind",
635636
"reference/asset-isolation/list-asset-group-collections",
636637
"reference/asset-isolation/preview-selectors",
637638
"reference/asset-isolation/update-an-asset-group",

docs/openapi.json

Lines changed: 210 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
},
1717
"servers": [
1818
{
19-
"url": "/",
19+
"url": "https://bloodhound.specterops.io/openapi.json/",
2020
"description": "This is the base path for all endpoints, relative to the domain where the API is being hosted."
2121
}
2222
],
@@ -3452,7 +3452,7 @@
34523452
},
34533453
{
34543454
"name": "type",
3455-
"description": "Node type.\nSome AD examples: `Base`, `User`, `Computer`, `Group`, `Container`.\nSome Azure examples: `AZBase`, `AZApp`, `AZDevice`.\n",
3455+
"description": "Node type. Currently only supports built-in types.\nSome AD examples: `Base`, `User`, `Computer`, `Group`, `Container`.\nSome Azure examples: `AZBase`, `AZApp`, `AZDevice`.\n",
34563456
"in": "query",
34573457
"schema": {
34583458
"type": "string"
@@ -5193,10 +5193,20 @@
51935193
"counts": {
51945194
"type": "object",
51955195
"properties": {
5196+
"members": {
5197+
"type": "integer",
5198+
"format": "int64"
5199+
},
51965200
"selectors": {
51975201
"type": "integer"
51985202
},
5199-
"members": {
5203+
"custom_selectors": {
5204+
"type": "integer"
5205+
},
5206+
"default_selectors": {
5207+
"type": "integer"
5208+
},
5209+
"disabled_selectors": {
52005210
"type": "integer"
52015211
}
52025212
}
@@ -5507,6 +5517,33 @@
55075517
"schema": {
55085518
"$ref": "#/components/schemas/api.params.query.sort-by"
55095519
}
5520+
},
5521+
{
5522+
"name": "primary_kind",
5523+
"in": "query",
5524+
"description": "Filter by primary_kind",
5525+
"required": false,
5526+
"schema": {
5527+
"$ref": "#/components/schemas/api.params.predicate.filter.string"
5528+
}
5529+
},
5530+
{
5531+
"name": "name",
5532+
"in": "query",
5533+
"description": "Filter by name",
5534+
"required": false,
5535+
"schema": {
5536+
"$ref": "#/components/schemas/api.params.predicate.filter.string"
5537+
}
5538+
},
5539+
{
5540+
"name": "object_id",
5541+
"in": "query",
5542+
"description": "Filter by object_id",
5543+
"required": false,
5544+
"schema": {
5545+
"$ref": "#/components/schemas/api.params.predicate.filter.string"
5546+
}
55105547
}
55115548
],
55125549
"responses": {
@@ -5686,7 +5723,45 @@
56865723
"in": "query",
56875724
"description": "Sortable columns are `id`, `objectid`, and `name`.\n",
56885725
"schema": {
5689-
"$ref": "#/components/schemas/api.params.query.sort-by"
5726+
"allOf": [
5727+
{
5728+
"$ref": "#/components/schemas/api.params.query.sort-by"
5729+
},
5730+
{
5731+
"enum": [
5732+
"id",
5733+
"objectid",
5734+
"name"
5735+
]
5736+
}
5737+
]
5738+
}
5739+
},
5740+
{
5741+
"name": "primary_kind",
5742+
"in": "query",
5743+
"description": "Filter by primary_kind",
5744+
"required": false,
5745+
"schema": {
5746+
"$ref": "#/components/schemas/api.params.predicate.filter.string"
5747+
}
5748+
},
5749+
{
5750+
"name": "name",
5751+
"in": "query",
5752+
"description": "Filter by name",
5753+
"required": false,
5754+
"schema": {
5755+
"$ref": "#/components/schemas/api.params.predicate.filter.string"
5756+
}
5757+
},
5758+
{
5759+
"name": "object_id",
5760+
"in": "query",
5761+
"description": "Filter by object_id",
5762+
"required": false,
5763+
"schema": {
5764+
"$ref": "#/components/schemas/api.params.predicate.filter.string"
56905765
}
56915766
}
56925767
],
@@ -5733,6 +5808,111 @@
57335808
"404": {
57345809
"$ref": "#/components/responses/not-found"
57355810
},
5811+
"409": {
5812+
"description": "Conflict. Selector is disabled.",
5813+
"content": {
5814+
"application/json": {
5815+
"schema": {
5816+
"$ref": "#/components/schemas/api.error-wrapper"
5817+
}
5818+
}
5819+
}
5820+
},
5821+
"429": {
5822+
"$ref": "#/components/responses/too-many-requests"
5823+
},
5824+
"500": {
5825+
"$ref": "#/components/responses/internal-server-error"
5826+
}
5827+
}
5828+
}
5829+
},
5830+
"/api/v2/asset-group-tags/{asset_group_tag_id}/selectors/{asset_group_tag_selector_id}/members/counts": {
5831+
"parameters": [
5832+
{
5833+
"$ref": "#/components/parameters/header.prefer"
5834+
},
5835+
{
5836+
"name": "asset_group_tag_id",
5837+
"description": "ID of an asset group tag",
5838+
"in": "path",
5839+
"required": true,
5840+
"schema": {
5841+
"type": "integer",
5842+
"format": "int32"
5843+
}
5844+
},
5845+
{
5846+
"name": "asset_group_tag_selector_id",
5847+
"description": "ID of an asset group tag selector",
5848+
"in": "path",
5849+
"required": true,
5850+
"schema": {
5851+
"type": "integer",
5852+
"format": "int32"
5853+
}
5854+
}
5855+
],
5856+
"get": {
5857+
"operationId": "GetAssetGroupSelectorMemberCountsByKind",
5858+
"summary": "List asset group tag selector member count by kind",
5859+
"description": "List counts of members of an asset group tag selector by primary kind.",
5860+
"tags": [
5861+
"Asset Isolation",
5862+
"Community",
5863+
"Enterprise"
5864+
],
5865+
"parameters": [
5866+
{
5867+
"$ref": "#/components/parameters/query.environments"
5868+
}
5869+
],
5870+
"responses": {
5871+
"200": {
5872+
"description": "OK",
5873+
"content": {
5874+
"application/json": {
5875+
"schema": {
5876+
"type": "object",
5877+
"properties": {
5878+
"data": {
5879+
"type": "object",
5880+
"properties": {
5881+
"total_count": {
5882+
"type": "integer"
5883+
},
5884+
"counts": {
5885+
"type": "object",
5886+
"additionalProperties": {
5887+
"type": "integer"
5888+
}
5889+
}
5890+
}
5891+
}
5892+
}
5893+
}
5894+
}
5895+
}
5896+
},
5897+
"401": {
5898+
"$ref": "#/components/responses/unauthorized"
5899+
},
5900+
"403": {
5901+
"$ref": "#/components/responses/forbidden"
5902+
},
5903+
"404": {
5904+
"$ref": "#/components/responses/not-found"
5905+
},
5906+
"409": {
5907+
"description": "Conflict. Selector is disabled.",
5908+
"content": {
5909+
"application/json": {
5910+
"schema": {
5911+
"$ref": "#/components/schemas/api.error-wrapper"
5912+
}
5913+
}
5914+
}
5915+
},
57365916
"429": {
57375917
"$ref": "#/components/responses/too-many-requests"
57385918
},
@@ -6262,7 +6442,13 @@
62626442
"additionalProperties": true
62636443
},
62646444
"source": {
6265-
"type": "integer"
6445+
"description": "Describes which phase of tagging resulted in this member being tagged, 1 - direct object, 2 - expanded downward, 3 - expanded upward",
6446+
"type": "integer",
6447+
"enum": [
6448+
1,
6449+
2,
6450+
3
6451+
]
62666452
}
62676453
}
62686454
}
@@ -6305,7 +6491,7 @@
63056491
"Community"
63066492
],
63076493
"requestBody": {
6308-
"description": "The request body for searching asset group tags.",
6494+
"description": "The request body for searching asset group tags. `query` represents being able to query by either name or object id. `tag_type` can be either 1(zone), 2(label), or 3(owned). And `asset_group_tag_id` is the ID of a tag (zone or label).",
63096495
"required": true,
63106496
"content": {
63116497
"application/json": {
@@ -6317,6 +6503,9 @@
63176503
},
63186504
"tag_type": {
63196505
"type": "integer"
6506+
},
6507+
"asset_group_tag_id": {
6508+
"type": "integer"
63206509
}
63216510
},
63226511
"required": [
@@ -17280,9 +17469,9 @@
1728017469
"in": "header",
1728117470
"required": false,
1728217471
"schema": {
17283-
"type": "integer",
17284-
"minimum": 0,
17285-
"default": 0
17472+
"type": "string",
17473+
"default": "wait=30",
17474+
"pattern": "^wait=[0-9]+$"
1728617475
}
1728717476
},
1728817477
"query.created-at": {
@@ -18975,6 +19164,11 @@
1897519164
"readOnly": true,
1897619165
"description": "Enterprise Only"
1897719166
},
19167+
"hygiene_attack_paths": {
19168+
"type": "integer",
19169+
"readOnly": true,
19170+
"description": "Enterprise Only"
19171+
},
1897819172
"exposures": {
1897919173
"type": "array",
1898019174
"readOnly": true,
@@ -19337,9 +19531,15 @@
1933719531
"type": "object",
1933819532
"properties": {
1933919533
"type": {
19340-
"type": "integer"
19534+
"type": "integer",
19535+
"description": "The type of selector, valid types are 1 - object id or 2 - cypher.",
19536+
"enum": [
19537+
1,
19538+
2
19539+
]
1934119540
},
1934219541
"value": {
19542+
"description": "The string value representing either an objectid or cypher query depending on the selector type.",
1934319543
"type": "string"
1934419544
}
1934519545
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
openapi: get /api/v2/asset-group-tags/{asset_group_tag_id}/selectors/{asset_group_tag_selector_id}/members/counts
3+
---
4+
5+
<img noZoom src="/assets/enterprise-AND-community-edition-pill-tag.svg" alt="Applies to BloodHound Enterprise and CE"/>

0 commit comments

Comments
 (0)