Authentication
The ProjectManager REST API uses API keys generated from within the ProjectManager application.
Generating an API key
To create an API key to begin using the ProjectManager API, follow these steps:
- API keys are tied to workspaces, and are available to users with 
adminorglobal adminroles only. - Click on your name in the bottom left hand corner, then select “Integrations”.
 - On the “Integrations” popup, select the “API Keys” tab on the bottom left hand side.
 - Select the API section and click “Create API Key”.
 - Give your API key a name that you can use to remember it.
 - Click “Generate Tokens” then copy and save your API key.
 - We recommend rotating API keys - follow your organization’s key rotation policy.
 
Using the SDK to authenticate
If you use a ProjectManager SDK, it’s easy to
- Download the appropriate software development kit from NuGet, PyPi, NPMJS, or Maven Central.
 - Choose an application name. This is the name that will appear in audit logs when the API key is used to make changes to your projects.
 - Specify the API key by calling the “With Bearer Token” method.
 
Example code for the following programming languages demonstrates how to implement these steps:
The value provided to WithCustomEnvironment should be either production or api.projectmanager.com.  The value provided to WithBearerToken should be the API key you generated.
Contacting the API directly
If you would prefer not to use a software development kit, that’s fine! The ProjectManager API is available at https://api.projectmanager.com. This web page shows the current version number of the API and allows you to review the latest Swagger/OpenAPI files.
You can either use OAuth tokens (for interactive applications) or API keys (for unattended applications) to contact the ProjectManager API.  All Admin and Global Admin level users within your workspace are permitted to create API keys.  Users with more limited roles will not be able to create API keys.
Credentials are sent to the API using the Authorization header as follows:
You can experiment with the API using the interactive swagger environment.