Planning REST APIs Overview
The Apptio Planning REST APIs provide secure, programmatic access to plans, planning data, metadata, and related artifacts within Apptio Planning. These APIs are designed to support automation and system integrations for planning, forecasting, analysis, governance, and data exchange use cases.
Using the Planning APIs, consumers can:
- Discover plans available in an Apptio Planning environment
- Export and import plan expense data using CSV files
- Retrieve analytical outputs such as variance analysis and plan status
- Manage and validate user permissions at plan or global levels
- Integrate Actuals import into Spend Management
- Access layout metadata used to structure planning data
All APIs follow REST principles, use standard HTTP methods, and exchange data through JSON responses and CSV files. Export APIs return downloadable CSV files, while import APIs accept CSV files and return detailed validation results to support large‑scale, repeatable integrations.
Prerequisites
To use the Plan APIs, you must:
- Create API keys for the environment from Apptio Administration.
- Generate Apptio open-token using api keys.
- Retrieve the Environment Id, which is required in all API headers.
Note: The user account used to generate API keys must have Budget Process Owner or
Admin privileges to access all available APIs. If a service account is used to create API
keys, please contact Apptio Support to ensure the necessary permissions are granted to that
account.
Authentication Headers
- All API requests require the following headers:
- apptio-opentoken
- Authentication token generated using API keys
- apptio-current-environment
- Environment ID identifying the target Apptio Planning environment
Note: Requests missing these headers or using invalid credentials will fail with authorization or access errors.
Regional Endpoints
- API requests must be sent to the correct regional endpoint for your Apptio deployment (for example, app.apptio.com, app-eu.apptio.com, or app-au.apptio.com).
- Ensure the base URL matches your region before issuing requests.