{
  "info": {
    "_postman_id": "56cdb129-ef94-48cf-9ca7-488a839eb219",
    "name": "Focus REST API",
    "description": "External API for reading and writing Focus data.",
    "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json"
  },
  "item": [
    {
      "name": "Benefit items",
      "description": "External APIs for benefit items.",
      "item": [
        {
          "name": "Bulk import benefit items",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/benefit-item/bulk",
              "query": [],
              "variable": []
            },
            "method": "POST",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "description": "Creates or updates multiple benefit items in a single request. Each item is identified by its internal ID or external ID. If neither is provided a new benefit item is created. Returns validation errors for any items that failed processing.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-write-scope"
              }
            },
            "body": {
              "mode": "raw",
              "raw": ""
            }
          },
          "response": []
        },
        {
          "name": "Get a benefit item",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/benefit-item/:id",
              "query": [],
              "variable": [
                {
                  "key": "id",
                  "value": "{{id}}",
                  "disabled": false
                }
              ]
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns benefit item details by benefit item ID.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-read-scope"
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete a benefit item",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/benefit-item/:id",
              "query": [],
              "variable": [
                {
                  "key": "id",
                  "value": "{{id}}",
                  "disabled": false
                }
              ]
            },
            "method": "DELETE",
            "header": [],
            "description": "Deletes the specified benefit item. This action is irreversible.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-write-scope"
              }
            }
          },
          "response": []
        },
        {
          "name": "Update a benefit item",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/benefit-item/:id",
              "query": [
                {
                  "key": "updateMask",
                  "value": "{{updateMask}}",
                  "disabled": false,
                  "description": "Comma-separated list of fields to update. Supported values: `externalId`."
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "{{id}}",
                  "disabled": false
                }
              ]
            },
            "method": "PATCH",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Updates the details of the specified benefit item. The `updateMask` query parameter specifies which fields to update; supported fields are `externalId`. Fields not listed in `updateMask` are not modified. Fields listed in `updateMask` but omitted from the request body or set to `null` are cleared.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-write-scope"
              }
            },
            "body": {
              "mode": "raw",
              "raw": ""
            }
          },
          "response": []
        },
        {
          "name": "Get benefit items",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/benefit-item",
              "query": [
                {
                  "key": "externalId",
                  "value": "{{externalId}}",
                  "disabled": true,
                  "description": "Filter by external benefit item ID. Returns at most one result."
                }
              ],
              "variable": []
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns a paginated list of benefit items with optional filtering.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-read-scope"
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Benefit types",
      "description": "External APIs for benefit types.",
      "item": [
        {
          "name": "Get benefit types",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/benefit-type",
              "query": [],
              "variable": []
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns all available benefit types.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-read-scope"
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Investment categories",
      "description": "External APIs for investment categories.",
      "item": [
        {
          "name": "Get investment categories",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/investment-category",
              "query": [],
              "variable": []
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns all available investment categories.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-read-scope"
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Cost items",
      "description": "External APIs for cost items.",
      "item": [
        {
          "name": "Bulk import cost items",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/cost-item/bulk",
              "query": [],
              "variable": []
            },
            "method": "POST",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "description": "Creates or updates multiple cost items in a single request. Each item is identified by its internal ID or external ID. If neither is provided a new cost item is created. Returns validation errors for any items that failed processing.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-write-scope"
              }
            },
            "body": {
              "mode": "raw",
              "raw": ""
            }
          },
          "response": []
        },
        {
          "name": "Get a cost item",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/cost-item/:id",
              "query": [],
              "variable": [
                {
                  "key": "id",
                  "value": "{{id}}",
                  "disabled": false
                }
              ]
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns cost item details by cost item ID.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-read-scope"
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete a cost item",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/cost-item/:id",
              "query": [],
              "variable": [
                {
                  "key": "id",
                  "value": "{{id}}",
                  "disabled": false
                }
              ]
            },
            "method": "DELETE",
            "header": [],
            "description": "Deletes the specified cost item. This action is irreversible.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-write-scope"
              }
            }
          },
          "response": []
        },
        {
          "name": "Update a cost item",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/cost-item/:id",
              "query": [
                {
                  "key": "updateMask",
                  "value": "{{updateMask}}",
                  "disabled": false,
                  "description": "Comma-separated list of fields to update. Supported values: `externalCostItemId`."
                }
              ],
              "variable": [
                {
                  "key": "id",
                  "value": "{{id}}",
                  "disabled": false
                }
              ]
            },
            "method": "PATCH",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Updates the details of the specified cost item. The `updateMask` query parameter specifies which fields to update; supported fields are `externalCostItemId`. Fields not listed in `updateMask` are not modified. Fields listed in `updateMask` but omitted from the request body or set to `null` are cleared.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-write-scope"
              }
            },
            "body": {
              "mode": "raw",
              "raw": ""
            }
          },
          "response": []
        },
        {
          "name": "Get cost items",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/cost-item",
              "query": [
                {
                  "key": "externalId",
                  "value": "{{externalId}}",
                  "disabled": true,
                  "description": "Filter by external cost item ID. Returns at most one result."
                }
              ],
              "variable": []
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns a paginated list of cost items with optional filtering.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-read-scope"
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Focus areas",
      "description": "External APIs for focus areas.",
      "item": [
        {
          "name": "Get focus areas",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/focus-areas",
              "query": [
                {
                  "key": "limit",
                  "value": "{{limit}}",
                  "disabled": true,
                  "description": "Maximum number of focus areas to return in a page."
                },
                {
                  "key": "cursor",
                  "value": "{{cursor}}",
                  "disabled": true,
                  "description": "Pagination cursor for the next page."
                },
                {
                  "key": "nameContains",
                  "value": "{{nameContains}}",
                  "disabled": true,
                  "description": "Case-insensitive filter for focus area names."
                },
                {
                  "key": "externalId",
                  "value": "{{externalId}}",
                  "disabled": true,
                  "description": "External ID to filter by."
                },
                {
                  "key": "parentId",
                  "value": "{{parentId}}",
                  "disabled": true,
                  "description": "Parent focus area ID to filter by. Returns all focus areas under the parent."
                },
                {
                  "key": "sort",
                  "value": "{{sort}}",
                  "disabled": true,
                  "description": "Sort directives to apply to the results."
                }
              ],
              "variable": []
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns a paginated list of focus areas with optional filtering.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "focus-areas-read-scope"
              }
            }
          },
          "response": []
        },
        {
          "name": "Create a focus area",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/focus-areas",
              "query": [],
              "variable": []
            },
            "method": "POST",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "description": "Creates a new focus area with the provided details. Status is automatically set to PENDING. Target date and target date type are not set on create, and draft defaults to false. If parent focus area is omitted, the new focus area is created as top-level. When owner is omitted, the authenticated user is used as creator and owner.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "focus-areas-write-scope"
              }
            },
            "body": {
              "mode": "raw",
              "raw": ""
            }
          },
          "response": []
        },
        {
          "name": "Get a focus area",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/focus-areas/:focusAreaId",
              "query": [],
              "variable": [
                {
                  "key": "focusAreaId",
                  "value": "{{focusAreaId}}",
                  "description": "The ID of the focus area.",
                  "disabled": false
                }
              ]
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns focus area details by focus area ID.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "focus-areas-read-scope"
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete a focus area",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/focus-areas/:focusAreaId",
              "query": [],
              "variable": [
                {
                  "key": "focusAreaId",
                  "value": "{{focusAreaId}}",
                  "description": "The ID of the focus area to delete.",
                  "disabled": false
                }
              ]
            },
            "method": "DELETE",
            "header": [],
            "description": "Deletes the specified focus area. This action is irreversible and will re-parent all child focus areas to the parent of the deleted focus area, or as parentless if the deleted focus area is a parent.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "focus-areas-write-scope"
              }
            }
          },
          "response": []
        },
        {
          "name": "Update a focus area",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/focus-areas/:focusAreaId",
              "query": [
                {
                  "key": "updateMask",
                  "value": "{{updateMask}}",
                  "disabled": false,
                  "description": "Comma-separated list of fields to update. Supported fields: `name`, `ownerId`, `externalId`, `about`."
                }
              ],
              "variable": [
                {
                  "key": "focusAreaId",
                  "value": "{{focusAreaId}}",
                  "description": "The ID of the focus area to update.",
                  "disabled": false
                }
              ]
            },
            "method": "PATCH",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Updates the details of the specified focus area. The `updateMask` query parameter specifies which fields to update; supported fields are `name`, `ownerId`, `externalId`, and `about`. Fields not listed in `updateMask` are not modified. Fields listed in `updateMask` but omitted from the request body or set to `null` are cleared; clearing a required field is not allowed and will result in a 400 response.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "focus-areas-write-scope"
              }
            },
            "body": {
              "mode": "raw",
              "raw": ""
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Cost subtypes",
      "description": "External APIs for cost subtypes.",
      "item": [
        {
          "name": "Get cost subtypes",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/cost-subtype",
              "query": [],
              "variable": []
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns all available cost subtypes.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-read-scope"
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Cost types",
      "description": "External APIs for cost types.",
      "item": [
        {
          "name": "Get cost types",
          "request": {
            "url": {
              "protocol": "{{protocol}}",
              "host": "{{host}}",
              "path": "{{basePath}}focus/v1/funds/cost-type",
              "query": [],
              "variable": []
            },
            "method": "GET",
            "header": [
              {
                "description": "",
                "disabled": false,
                "key": "Accept",
                "value": "application/json"
              }
            ],
            "description": "Returns all available cost types.",
            "auth": {
              "type": "oauth2",
              "oauth2": {
                "accessTokenUrl": "https://auth.atlassian.com/oauth/token",
                "addTokenTo": "header",
                "clientAuth": "body",
                "clientId": "{{clientId}}",
                "clientSecret": "{{clientSecret}}",
                "grantType": "client_credentials",
                "scope": "funds-read-scope"
              }
            }
          },
          "response": []
        }
      ]
    }
  ],
  "variable": [
    {
      "key": "protocol",
      "name": "Protocol",
      "description": "The HTTP Protocol that should be used for this REST API.",
      "type": "string",
      "value": "https"
    },
    {
      "key": "host",
      "name": "Host",
      "description": "The HTTP host that should be used for this REST API.",
      "type": "string",
      "value": "api.atlassian.com"
    },
    {
      "key": "basePath",
      "name": "Base Path",
      "description": "The path, after the host, of the base of the REST API.",
      "type": "string",
      "value": ""
    }
  ]
}