Developer
News and Updates
Get Support
Sign in
Get Support
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
Sign in
DOCUMENTATION
Cloud
Data Center
Resources
Sign in
  • Benefit items
  • Benefit types
  • Investment categories
  • Cost items
  • Focus areas
  • Cost subtypes
  • Cost types
Cloud
Focus / Reference / REST API

Focus areas

Postman Collection
OpenAPI
GET

Get focus areas

Returns a paginated list of focus areas with optional filtering.

focus-areas-read-scope

Request

Query parameters

limit

string

cursor

string

nameContains

string

externalId

string

parentId

string

sort

string

Responses

Focus areas returned successfully.

application/json

PaginatedResponse

Paginated REST response.

GET/focus/v1/focus-areas
1 2 3 4 curl --request GET \ --url '/focus/v1/focus-areas' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 { "values": [ {} ], "cursor": "<string>", "last": true, "totalCount": 21, "nextPageCursor": "<string>" }
POST

Create a focus area

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.

focus-areas-write-scope

Request

Request bodyapplication/json

name

string

Required
focusAreaTypeId

string

Required
externalId

string

parentFocusAreaId

string

ownerId

string

Responses

Focus area created successfully.

application/json

FocusArea

A Focus Area.

POST/focus/v1/focus-areas
1 2 3 4 5 6 7 8 9 10 11 12 curl --request POST \ --url '/focus/v1/focus-areas' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "name": "<string>", "focusAreaTypeId": "<string>", "externalId": "<string>", "parentFocusAreaId": "<string>", "ownerId": "<string>" }'
201Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 { "id": "<string>", "parent": { "id": "<string>" }, "name": "<string>", "externalId": "<string>", "about": "<string>", "createdDate": "<string>", "updatedDate": "<string>", "owner": { "id": "<string>", "name": "<string>" }, "focusAreaType": { "id": "<string>", "name": "<string>" }, "targetDate": "<string>", "path": [ { "id": "<string>", "index": 100 } ], "status": { "id": "<string>", "name": "<string>" } }
GET

Get a focus area

Returns focus area details by focus area ID.

focus-areas-read-scope

Request

Path parameters

focusAreaId

string

Required

Responses

Focus area returned successfully.

application/json

FocusArea

A Focus Area.

GET/focus/v1/focus-areas/{focusAreaId}
1 2 3 4 curl --request GET \ --url '/focus/v1/focus-areas/{focusAreaId}' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 { "id": "<string>", "parent": { "id": "<string>" }, "name": "<string>", "externalId": "<string>", "about": "<string>", "createdDate": "<string>", "updatedDate": "<string>", "owner": { "id": "<string>", "name": "<string>" }, "focusAreaType": { "id": "<string>", "name": "<string>" }, "targetDate": "<string>", "path": [ { "id": "<string>", "index": 100 } ], "status": { "id": "<string>", "name": "<string>" } }
DEL

Delete a focus area

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.

focus-areas-write-scope

Request

Path parameters

focusAreaId

string

Required

Responses

Focus area deleted successfully.

DEL/focus/v1/focus-areas/{focusAreaId}
1 2 3 curl --request DELETE \ --url '/focus/v1/focus-areas/{focusAreaId}' \ --header 'Authorization: Bearer <access_token>'
PATCH

Update a focus area

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.

focus-areas-write-scope

Request

Path parameters

focusAreaId

string

Required

Query parameters

updateMask

string

Required

Request bodyapplication/json

name

string

ownerId

string

externalId

string

about

string

Responses

Focus area updated successfully.

application/json

FocusArea

A Focus Area.

PATCH/focus/v1/focus-areas/{focusAreaId}
1 2 3 4 5 6 7 8 9 10 11 curl --request PATCH \ --url '/focus/v1/focus-areas/{focusAreaId}?updateMask=name%2Cabout' \ --header 'Authorization: Bearer <access_token>' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{ "name": "<string>", "ownerId": "<string>", "externalId": "<string>", "about": "<string>" }'
200Response
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 { "id": "<string>", "parent": { "id": "<string>" }, "name": "<string>", "externalId": "<string>", "about": "<string>", "createdDate": "<string>", "updatedDate": "<string>", "owner": { "id": "<string>", "name": "<string>" }, "focusAreaType": { "id": "<string>", "name": "<string>" }, "targetDate": "<string>", "path": [ { "id": "<string>", "index": 100 } ], "status": { "id": "<string>", "name": "<string>" } }

Rate this page: