Use the Focus public REST API

The Focus public REST API lets you connect Focus to your existing tools and systems. Instead of manually entering data through the UI or importing CSV files, you can build integrations that create, read, and update focus areas and financial data programmatically.

The API currently covers two groups of endpoints:

  • Focus Areas: create and manage the strategic hierarchy (focus areas, owners, types, target dates).

  • Funds: create and manage cost items and benefit items, along with their monthly actual and forecast values, attached to focus areas.

Use the API to automate data syncing from your financial systems, build reporting layers, or migrate data at scale.

What you can do with the API

Focus areas

Action

Description

Create a focus area

Set up strategic priorities programmatically, including name, type, owner, parent, and external ID.

Get a focus area

Retrieve a single focus area by ID, including its full ancestor path and status.

List focus areas

Return a paginated, filterable list of all focus areas. Filter by name, external ID, or parent. Sort by name or last updated date.

Update a focus area

Change the name, owner, external ID, or description of an existing focus area.

Funds tab: cost items

Action

Description

Bulk import cost items

Create or update multiple cost items in a single request, with actual or forecast values per focus area and period.

List cost items

Return cost items filtered by focus area, external ID, cost type, and more.

Get a cost item

Retrieve a single cost item by ID.

Update a cost item

Change the name, values, category, subtype, or external ID of an existing cost item.

Delete a cost item

Remove a cost item and its associated data.

List cost types

Retrieve the cost types configured for your organization (for example, Labor or Non-labor).

List cost subtypes

Retrieve the cost subtypes used to categorize cost items.

List investment categories

Retrieve the investment categories configured for your organization.

Funds tab: benefit items

Action

Description

Bulk import benefit items

Create or update multiple benefit items in a single request, with actual or forecast values per focus area and period.

List benefit items

Return benefit items, optionally filtered by external IDs.

Get a benefit item

Retrieve a single benefit item by ID.

Update a benefit item

Change the external ID of an existing benefit item. To change other fields, use the bulk import endpoint.

Delete a benefit item

Remove a benefit item and its associated data.

List benefit types

Retrieve the benefit types configured for your organization (for example, Cost savings or Productivity gains).

Common integration patterns

Sync actuals from a financial system

Pull monthly actuals from your ERP, financial planning tool, or internal finance systems and push them into Focus through the API. A scheduled job (nightly or weekly) keeps Focus current without manual re-entry.

Typical flow:

  1. Export closed-month actuals from your source system.

  2. Map your cost centers or budget lines to focus area IDs and cost item IDs. Use the external ID fields to create stable cross-system mappings.

  3. Call the bulk import endpoint to update actual values for each item and period.

Bulk-create items during initial setup

If you are onboarding a large portfolio, use the API to create cost items across many focus areas programmatically rather than one at a time through the UI.

Build a reporting layer

Read financial data from Focus to feed into your BI tools, dashboards, or executive reporting. Pull forecast, actual, and summary data to combine with other business metrics.

Migrate from a legacy SPM tool

Use the Focus Areas API to programmatically re-create your strategic hierarchy from Jira Align or another strategic portfolio management tool. Pair it with the funds API to bring over financial data in the same pass.

Before you start

Before your first API call, make sure you have:

  • Your cloud ID. Every API call routes through Atlassian's API gateway using your site's cloud ID. Find it at https://<your-site>.atlassian.net/_edge/tenant_info.

  • Authentication credentials.

    • API tokens: generate one from your Atlassian account settings and use it with Basic Auth (your email address + the token). Best for scripts and internal automation.

    • OAuth 2.0 (3LO): for apps and integrations that act on behalf of users. Register your app in the Atlassian Developer Console and configure the appropriate scopes.

  • The right OAuth scopes. Choose the minimum access your integration needs:

Scope

Access

focus-areas-read-scope

Read focus area data

focus-areas-write-scope

Create, update, and delete focus areas

funds-read-scope

Read funds data (cost items, benefit items, and reference data)

funds-write-scope

Create, update, and delete funds data

  • Focus area IDs. Every funds-related API call scopes to a focus area. Use the List Focus Areas endpoint to retrieve IDs, or set up external ID mappings so your source system's project codes work directly in API calls.

  • Matching categories. Cost subtypes and investment categories in your API payloads must match what is configured in your Focus admin settings. Retrieve the current values using the List Cost Types, List Cost Subtypes, and List Investment Categories endpoints. Mismatches cause validation errors.

API reference

Review the full REST API reference for details on endpoint URLs, request and response schemas, authentication details, error codes, and code examples.

The reference is generated from the API's OpenAPI specification. All list endpoints use cursor-based pagination. Requests are rate-limited per tenant through Atlassian's standard points-based rate limiting model.

Base URL: https://api.atlassian.com/ex/focus/{cloudId}/v1/

 

Still need help?

The Atlassian Community is here for you.