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:
Export closed-month actuals from your source system.
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.
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 |
|---|---|
| Read focus area data |
| Create, update, and delete focus areas |
| Read funds data (cost items, benefit items, and reference data) |
| 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/
Was this helpful?