API Calls
| Name | Description | Shortcut | 
|---|---|---|
| GET: List Aggregation Profile Requests | This method can be used to retrieve a list of current aggregation profiles. | Description | 
| GET: List a specific aggregation profile | This method can be used to retrieve a specific aggregation profile based on its id. | Description | 
| POST: Create a new aggregation profile | This method can be used to create a new aggregation profile | Description | 
| PUT: Update an aggregation profile | This method can be used to update information on an existing aggregation profile | Description | 
| DELETE: Delete an aggregation profile | This method can be used to delete an existing aggregation profile | Description | 
[GET]: List Aggregation Profiles
This method can be used to retrieve a list of current aggregation profiles
Input
GET /aggregation_profiles
Optional Query Parameters
| Type | Description | Required | 
|---|---|---|
name | 
aggregation profile name to be used as query | NO | 
date | 
Date to retrieve a historic version of the aggregations profiles. If no date parameter is provided the most current profile will be returned | NO | 
Request headers
x-api-key: shared_key_value
Accept: application/json
Response
Headers: Status: 200 OK
Response body
Json Response
{
 "status": {
  "message": "Success",
  "code": "200"
 },
 "data": [
  {
   "id": "6ac7d684-1f8e-4a02-a502-720e8f11e50c",
   "date": "2019-10-10",
   "name": "cloud",
   "namespace": "test",
   "endpoint_group": "sites",
   "metric_operation": "AND",
   "profile_operation": "AND",
   "metric_profile": {
    "name": "roc.critical",
    "id": "5637d684-1f8e-4a02-a502-720e8f11e432"
   },
   "groups": [
    {
     "name": "compute",
     "operation": "OR",
     "services": [
      {
       "name": "SERVICEA",
       "operation": "AND"
      },
      {
       "name": "SERVICEB",
       "operation": "AND"
      }
     ]
    },
    {
     "name": "images",
     "operation": "OR",
     "services": [
      {
       "name": "SERVICEC",
       "operation": "AND"
      },
      {
       "name": "SERVICED",
       "operation": "AND"
      }
     ]
    }
   ]
  },
  {
   "id": "6ac7d684-1f8e-4a02-a502-720e8f11e50b",
   "date": "2019-11-11",
   "name": "critical",
   "namespace": "test",
   "endpoint_group": "sites",
   "metric_operation": "AND",
   "profile_operation": "AND",
   "metric_profile": {
    "name": "roc.critical",
    "id": "5637d684-1f8e-4a02-a502-720e8f11e432"
   },
   "groups": [
    {
     "name": "compute",
     "operation": "OR",
     "services": [
      {
       "name": "CREAM-CE",
       "operation": "AND"
      },
      {
       "name": "ARC-CE",
       "operation": "AND"
      }
     ]
    },
    {
     "name": "storage",
     "operation": "OR",
     "services": [
      {
       "name": "SRMv2",
       "operation": "AND"
      },
      {
       "name": "SRM",
       "operation": "AND"
      }
     ]
    }
   ]
  }
 ]
}
[GET]: List A Specific Aggregation profile
This method can be used to retrieve specific aggregation profile based on its id
Input
GET /aggregation_profiles/{ID}
Request headers
x-api-key: shared_key_value
Accept: application/json
Optional Query Parameters
| Type | Description | Required | 
|---|---|---|
date | 
Date to list a historic version of the aggregation profile. If no date parameter is provided current date will be supplied automatically | NO | 
Response
Headers: Status: 200 OK
Response body
Json Response
{
 "status": {
  "message": "Success",
  "code": "200"
 },
 "data": [
  {
   "id": "6ac7d684-1f8e-4a02-a502-720e8f11e50c",
   "date": "2019-10-10",
   "name": "cloud",
   "namespace": "test",
   "endpoint_group": "sites",
   "metric_operation": "AND",
   "profile_operation": "AND",
   "metric_profile": {
    "name": "roc.critical",
    "id": "5637d684-1f8e-4a02-a502-720e8f11e432"
   },
   "groups": [
    {
     "name": "compute",
     "operation": "OR",
     "services": [
      {
       "name": "SERVICEA",
       "operation": "AND"
      },
      {
       "name": "SERVICEB",
       "operation": "AND"
      }
     ]
    },
    {
     "name": "images",
     "operation": "OR",
     "services": [
      {
       "name": "SERVICEC",
       "operation": "AND"
      },
      {
       "name": "SERVICED",
       "operation": "AND"
      }
     ]
    }
   ]
  }
 ]
}
[POST]: Create a new Aggregation Profile
This method can be used to insert a new aggregation profile
Input
POST /aggregation_profiles
Request headers
x-api-key: shared_key_value
Accept: application/json
Optional Query Parameters
| Type | Description | Required | 
|---|---|---|
date | 
Date to create a new historic version of the aggregation profile. If no date parameter is provided current date will be supplied automatically | NO | 
POST BODY
{
   "name": "new_aggregation_profile",
   "date": "2019-12-12",
   "namespace": "test",
   "endpoint_group": "sites",
   "metric_operation": "AND",
   "profile_operation": "AND",
   "metric_profile": {
    "name": "test.metric.profile",
    "id": "5637d684-1f8e-4a02-a502-720e8f11e432"
   },
   "groups": [
    {
     "name": "compute",
     "operation": "OR",
     "services": [
      {
       "name": "SERVICEA",
       "operation": "AND"
      },
      {
       "name": "SERVICEB",
       "operation": "AND"
      }
     ]
    },
    {
     "name": "images",
     "operation": "OR",
     "services": [
      {
       "name": "SERVICEC",
       "operation": "AND"
      },
      {
       "name": "SERVICED",
       "operation": "AND"
      }
     ]
    }
   ]
  }
Response
Headers: Status: 201 Created
Response body
Json Response
{
 "status": {
  "message": "Aggregation Profile successfully created",
  "code": "201"
 },
 "data": {
  "id": "{{ID}}",
  "links": {
   "self": "https:///api/v2/aggregation_profiles/{{ID}}"
  }
 }
}
[PUT]: Update information on an existing aggregation profile
This method can be used to update information on an existing aggregation profile
Input
PUT /aggregation_profiles/{ID}
Request headers
x-api-key: shared_key_value
Accept: application/json
Optional Query Parameters
| Type | Description | Required | 
|---|---|---|
date | 
Date to update a new historic version of the aggregation profile. If no date parameter is provided current date will be supplied automatically | NO | 
PUT BODY
{
   "name": "updated_profile",
   "namespace": "test",
   "endpoint_group": "sites",
   "metric_operation": "AND",
   "profile_operation": "AND",
   "metric_profile": {
    "name": "test.metric.profile",
    "id": "5637d684-1f8e-4a02-a502-720e8f11e432"
   },
   "groups": [
    {
     "name": "compute",
     "operation": "OR",
     "services": [
      {
       "name": "SERVICEA",
       "operation": "AND"
      },
      {
       "name": "SERVICEB",
       "operation": "AND"
      }
     ]
    },
    {
     "name": "images",
     "operation": "OR",
     "services": [
      {
       "name": "SERVICEC",
       "operation": "AND"
      },
      {
       "name": "SERVICED",
       "operation": "AND"
      }
     ]
    }
   ]
  }
Response
Headers: Status: 200 OK
Response body
Json Response
{
 "status": {
  "message": "Aggregation Profile successfully updated",
  "code": "200"
 },
 "data": {
  "id": "{{ID}}",
  "links": {
   "self": "https:///api/v2/aggregation_profiles/{{ID}}"
  }
 }
}
[DELETE]: Delete an existing aggregation profile
This method can be used to delete an existing aggregation profile
Input
DELETE /aggregation_profiles/{ID}
Request headers
x-api-key: shared_key_value
Content-Type: application/json
Accept: application/json
Response
Headers: Status: 200 OK
Response body
Json Response
{
 "status": {
  "message": "Aggregation Profile Successfully Deleted",
  "code": "200"
 }
}