---
title: List manual cost distribution policies
slug: reference/list-manual-cost-distribution-policies
docTags: 
createdAt: 2025-07-03T16:20:35.017Z
---

{
  "id": "ixE92rxcTnkX5GllGrvLp",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://app.amberflo.io/business-unit/focus-allocation/manual",
    "servers": [
      {
        "url": "https://app.amberflo.io/business-unit/focus-allocation/manual"
      }
    ],
    "name": "List manual cost distribution policies",
    "description": "<p>Retrieves paginated list of manual FOCUS allocation policies that distribute cloud costs to business units using fixed percentages.\nManual policies override automatic rules and provide direct control over cost assignment for specific cloud services.</p>\n<p>Required parameters:</p>\n<ul>\n<li>None - returns all accessible manual allocation policies</li>\n</ul>\n<p>Optional parameters:</p>\n<ul>\n<li><code>limit</code>: Controls pagination page size for large policy sets</li>\n<li><code>page</code>: Specifies which page of results to return</li>\n<li><code>providers</code>: Filters policies by cloud providers (AWS, AZURE, GOOGLE_CLOUD)</li>\n<li><code>services</code>: Filters policies by specific cloud services</li>\n<li><code>timeInSeconds</code>: Filters policies active at specific point in time</li>\n<li><code>startTimeInSeconds</code>: Filters policies active after specified time (inclusive)</li>\n<li><code>endTimeInSeconds</code>: Filters policies active before specified time (exclusive)</li>\n</ul>\n<p>Returns paginated manual allocation policies including provider context, service scope, distribution rules, and time periods.\nUse time filters to find policies that were active during specific periods for historical cost analysis.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [],
      "queryParameters": [
        {
          "kind": "optional",
          "name": "limit",
          "type": "integer<int32>",
          "description": "Maximum number of manual allocation policy records to return per page. Controls pagination size for efficient data retrieval."
        },
        {
          "kind": "optional",
          "name": "page",
          "type": "integer<int32>",
          "description": "<p>Zero-based page number for pagination navigation. Used with limit parameter to access manual allocation policy result pages.</p>"
        },
        {
          "kind": "optional",
          "name": "providers",
          "type": "array",
          "description": "Cloud provider filter for manual allocation policies. Limits results to specific provider cost allocation rules.",
          "schema": [],
          "itemType": "string",
          "customType": "string[]"
        },
        {
          "kind": "optional",
          "name": "services",
          "type": "array",
          "description": "Cloud service filter for manual allocation policies. Limits results to specific service cost distribution configurations.",
          "schema": [],
          "itemType": "string",
          "customType": "string[]"
        },
        {
          "kind": "optional",
          "name": "timeInSeconds",
          "type": "integer<int64>",
          "description": "<p>Filter for manual allocation policies active at specific point in time, in Unix timestamp seconds format.</p>"
        },
        {
          "kind": "optional",
          "name": "startTimeInSeconds",
          "type": "integer<int64>",
          "description": "<p>Filter for manual allocation policies active after this inclusive time boundary, in Unix timestamp seconds format.</p>"
        },
        {
          "kind": "optional",
          "name": "endTimeInSeconds",
          "type": "integer<int64>",
          "description": "<p>Filter for manual allocation policies active before this exclusive time boundary, in Unix timestamp seconds format.</p>"
        }
      ],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "apiKey",
          "name": "X-API-KEY",
          "kind": "optional",
          "type": "apiKey",
          "in": "header"
        }
      ]
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "Successful request",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "Paginated response containing manual FOCUS allocation policies with metadata for navigating large policy collections and filtering results.",
            "customType": "business_unit.focus_allocation.manual.query.ManualFocusAllocationPolicyPage.out",
            "schema": [
              {
                "name": "metadata",
                "kind": "optional",
                "type": "object",
                "description": "Pagination control metadata including page size, current position, filters applied, and total result counts for manual allocation policies.",
                "modelRef": "#/components/schemas/business_unit.focus_allocation.manual.query.ManualFocusAllocationPolicyPageMetadata.out",
                "customType": "business_unit.focus_allocation.manual.query.ManualFocusAllocationPolicyPageMetadata.out",
                "schema": [
                  {
                    "name": "limit",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "Maximum number of manual allocation policy records per page. Controls pagination size for efficient data retrieval and display.",
                    "example": 0
                  },
                  {
                    "name": "page",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "Zero-based current page number in manual allocation policy results. Used for pagination navigation through large policy collections.",
                    "example": 0
                  },
                  {
                    "name": "providers",
                    "kind": "optional",
                    "type": "array",
                    "description": "Applied cloud provider filter for manual allocation policies. Shows which providers are included in current result set.",
                    "modelRef": "#/components/schemas/focus.common.FocusProvider.out",
                    "customType": "focus.common.FocusProvider.out[]",
                    "schema": []
                  },
                  {
                    "name": "services",
                    "kind": "optional",
                    "type": "array",
                    "description": "Applied cloud service filter for manual allocation policies. Shows which services are included in current result set.",
                    "example": "",
                    "itemType": "string",
                    "customType": "string[]",
                    "itemExample": "",
                    "itemDefault": ""
                  },
                  {
                    "name": "timeInSeconds",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Applied time filter for policies active at specific point. Shows Unix timestamp used for policy activity filtering.",
                    "example": 0
                  },
                  {
                    "name": "startTimeInSeconds",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Applied inclusive start time boundary for policy activity filtering. Shows earliest time used in query range.",
                    "example": 0
                  },
                  {
                    "name": "endTimeInSeconds",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Applied exclusive end time boundary for policy activity filtering. Shows latest time used in query range.",
                    "example": 0
                  },
                  {
                    "name": "totalRowCount",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "Total number of manual allocation policies across all pages. Represents complete result set size without pagination.",
                    "example": 0
                  },
                  {
                    "name": "filteredRowCount",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "Number of manual allocation policies matching applied filters. Represents filtered result set size before pagination.",
                    "example": 0
                  },
                  {
                    "name": "totalFilteredPages",
                    "kind": "optional",
                    "type": "integer<int32>",
                    "description": "Total pages available for filtered manual allocation policy results. Used for pagination controls and navigation.",
                    "example": 0
                  }
                ]
              },
              {
                "name": "items",
                "kind": "optional",
                "type": "array",
                "description": "Array of manual allocation policy configurations for current page. Contains complete policy definitions with distribution rules and timestamps.",
                "modelRef": "#/components/schemas/business_unit.focus_allocation.manual.ManualFocusAllocationPolicy.out",
                "customType": "business_unit.focus_allocation.manual.ManualFocusAllocationPolicy.out[]",
                "schema": [
                  {
                    "name": "provider",
                    "kind": "required",
                    "type": "string",
                    "description": "Cloud provider for cost allocation policy. Supported values include AWS, AZURE, GOOGLE_CLOUD for targeted service cost distribution.",
                    "modelRef": "#/components/schemas/focus.common.FocusProvider.out",
                    "customType": "focus.common.FocusProvider.out",
                    "schema": []
                  },
                  {
                    "name": "service",
                    "kind": "required",
                    "type": "string",
                    "description": "Specific cloud service name for cost allocation scope. Defines service boundaries for manual percentage-based cost distribution rules.",
                    "example": ""
                  },
                  {
                    "name": "policy",
                    "kind": "required",
                    "type": "object",
                    "description": "Distribution rule containing business unit allocation percentages. Defines how costs are divided among business units using fixed ratios.",
                    "modelRef": "#/components/schemas/business_unit.focus_allocation.manual.rules.SimpleDistributionRule.out",
                    "customType": "business_unit.focus_allocation.manual.rules.SimpleDistributionRule.out",
                    "schema": [
                      {
                        "name": "type",
                        "kind": "required",
                        "type": "string",
                        "description": "Rule type identifier for simple distribution logic. Always set to 'simple_distribution' for percentage-based cost allocation rules.",
                        "example": "",
                        "default": "simple_distribution"
                      },
                      {
                        "name": "allocations",
                        "kind": "required",
                        "type": "map",
                        "description": "Map of business unit IDs to allocation percentages. Keys are business unit identifiers, values are decimal percentages totaling 100.0.",
                        "example": "",
                        "customType": "map<string, number>",
                        "schema": []
                      }
                    ]
                  },
                  {
                    "name": "startTimeInSeconds",
                    "kind": "required",
                    "type": "integer<int64>",
                    "description": "Policy activation timestamp in Unix seconds format. Defines when manual allocation rule begins applying to cloud service costs.",
                    "example": 0
                  },
                  {
                    "name": "endTimeInSeconds",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Policy expiration timestamp in Unix seconds format. Optional end time for time-bounded manual allocation rule application periods.",
                    "example": 0
                  },
                  {
                    "name": "createTimeInMillis",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Policy creation timestamp in Unix milliseconds format. Tracks when manual allocation policy was first established in system.",
                    "example": 0
                  },
                  {
                    "name": "updateTimeInMillis",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Policy modification timestamp in Unix milliseconds format. Tracks when manual allocation policy configuration was last changed.",
                    "example": 0
                  }
                ]
              }
            ],
            "modelRef": "#/components/schemas/business_unit.focus_allocation.manual.query.ManualFocusAllocationPolicyPage.out",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "Hcl40dASXsRid7XK97uqs",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url https://app.amberflo.io/business-unit/focus-allocation/manual \\\n     --header 'accept: application/json'"
        },
        {
          "id": "21u4rQ4plf1XaxARPIitV",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'GET',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://app.amberflo.io/business-unit/focus-allocation/manual\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "YAUptr2oWBXnzcJgWgXpa",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://app.amberflo.io/business-unit/focus-allocation/manual\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "UiCu3SwY8PWrB9BSdzkAN",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://app.amberflo.io/business-unit/focus-allocation/manual\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "Hcl40dASXsRid7XK97uqs"
    },
    "results": {
      "languages": [
        {
          "id": "response-0-200",
          "language": "200",
          "code": "// Successful request\n{\n  \"metadata\": {\n    \"limit\": \"\",\n    \"page\": \"\",\n    \"providers\": [\n      \"\"\n    ],\n    \"services\": [\n      \"\"\n    ],\n    \"timeInSeconds\": \"\",\n    \"startTimeInSeconds\": \"\",\n    \"endTimeInSeconds\": \"\",\n    \"totalRowCount\": \"\",\n    \"filteredRowCount\": \"\",\n    \"totalFilteredPages\": \"\"\n  },\n  \"items\": [\n    {\n      \"provider\": \"\",\n      \"service\": \"\",\n      \"policy\": {\n        \"type\": \"\",\n        \"allocations\": \"\"\n      },\n      \"startTimeInSeconds\": \"\",\n      \"endTimeInSeconds\": \"\",\n      \"createTimeInMillis\": \"\",\n      \"updateTimeInMillis\": \"\"\n    }\n  ]\n}"
        }
      ],
      "selectedLanguageId": "response-0-200"
    }
  },
  "children": [
    {
      "text": "",
      "id": "OAJ9WcjOSbqX9cR0Vbm86"
    }
  ]
}