Skip to main content

FinOps Resource Groups

Group cloud resources for cost rollup and chargeback, including group lifecycle management and per-group resource membership.

All endpoints require authentication via X-API-Key header and the appropriate scope.


Resource Group Object

{
"_id": "rg_abc123",
"name": "Production Workloads",
"description": "All production-tier compute and storage",
"status": "active",
"ownerId": "user_456",
"organizationId": "org_xyz",
"resources": [
{ "type": "workflow", "resourceId": "wf_001", "name": "ingest-pipeline" }
],
"createdAt": "2025-01-15T10:30:00Z",
"updatedAt": "2025-02-01T14:22:00Z"
}

GET /api/v1/finops/resource-groups

List resource groups with pagination, search, and status filters.

Scope: finops:read

Query Parameters

ParameterTypeRequiredDescription
searchstringNoSearch term for name or description
statusstringNoFilter by group status
limitintegerNoNumber of results to return
offsetintegerNoNumber of results to skip
sortstringNoSort field and direction

Response 200 OK

{
"count": 1,
"limit": 20,
"offset": 0,
"items": [
{
"_id": "rg_abc123",
"name": "Production Workloads",
"status": "active"
}
]
}

POST /api/v1/finops/resource-groups

Create a new resource group.

Scope: finops:write

Request Body

{
"name": "Production Workloads",
"description": "All production-tier compute and storage"
}
FieldTypeRequiredDescription
namestringYesResource group name
descriptionstringNoResource group description

Response 201 Created

{
"resourceGroupId": "rg_abc123"
}

GET /api/v1/finops/resource-groups/:id

Get a single resource group by ID.

Scope: finops:read

Path Parameters

ParameterTypeRequiredDescription
idstringYesResource group ID

Response 200 OK

Returns the full Resource Group object.


PUT /api/v1/finops/resource-groups/:id

Update an existing resource group by ID.

Scope: finops:write

Path Parameters

ParameterTypeRequiredDescription
idstringYesResource group ID

Request Body

{
"name": "Production Workloads (revised)",
"description": "Updated description"
}
FieldTypeRequiredDescription
namestringNoResource group name
descriptionstringNoResource group description

Response 200 OK

Returns the updated Resource Group object.


DELETE /api/v1/finops/resource-groups/:id

Delete a resource group by ID.

Scope: finops:write

Path Parameters

ParameterTypeRequiredDescription
idstringYesResource group ID

Response 204 No Content


POST /api/v1/finops/resource-groups/:id/resources

Add a resource to a resource group.

Scope: finops:write

Path Parameters

ParameterTypeRequiredDescription
idstringYesResource group ID

Request Body

{
"type": "workflow",
"resourceId": "wf_001",
"name": "ingest-pipeline"
}
FieldTypeRequiredDescription
typestringYesResource type
resourceIdstringYesID of the resource to add
namestringYesResource name

Response 200 OK

Returns the updated Resource Group object.


DELETE /api/v1/finops/resource-groups/:id/resources/:subId

Remove a resource from a resource group.

Scope: finops:write

Path Parameters

ParameterTypeRequiredDescription
idstringYesResource group ID
subIdstringYesResource ID to remove

Response 200 OK

Returns the updated Resource Group object.