For developers

Build on Onplana

Read and change projects and tasks from your own code, hear about changes as they happen, pull the plan into your reports, and let AI agents work in it. Five ways in, each with a token that acts as the person who made it.

Five ways in

Each one works today. Start with the sample, then follow its guide.

REST API with personal access tokens

Create a token under Settings, then Developer, with only the scopes and projects it needs and an expiry. It acts as you, in one organization, and can never do more than you can. The OpenAPI 3.1 spec describes every route.

Every plan, including Free

Your open tasks, across every project
curl https://api.onplana.com/api/tasks/mine \
  -H "Authorization: Bearer pat_YOUR_TOKEN"

Signed webhooks

Onplana POSTs a JSON payload to your URL when one of 22 event types happens. Each delivery carries an HMAC-SHA256 signature of the body, made with your secret, and every attempt is kept in the delivery history.

Business and up

Hear when a task changes status
curl -X POST https://api.onplana.com/api/webhooks \
  -H "Authorization: Bearer pat_YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name":"Status changes","url":"https://example.com/onplana","events":["task.status_changed"],"secret":"YOUR_SECRET"}'

The OData reporting feed

A read-only OData v4 feed of projects, tasks, assignments, resources, timesheet lines, custom field values and baselines. Power BI, Excel or your warehouse signs in with a token that has the reporting scope.

Professional and up

Read five tasks from the feed
curl -u "token:pat_YOUR_TOKEN" \
  "https://api.onplana.com/api/odata/Tasks?$top=5"

MCP server for AI agents

Claude, ChatGPT, Cursor and any other MCP client can read and manage work with the permissions of the person who connects them. Clients sign in through the browser, so there is no app to register first.

Every plan, including Free. The number of agents connected at once grows with the plan.

Add Onplana to an MCP client
{
  "mcpServers": {
    "onplana": { "url": "https://mcp.onplana.com/mcp" }
  }
}

Connectors

Before you build, check whether the connection exists. Each connector signs in with a personal access token and runs the same check first.

  • Microsoft Teams and Microsoft 365 Copilot: live, on every plan, including Free.
  • SharePoint and OneDrive file links on tasks: live, on the Professional plan and up.
  • Power Automate and Power Apps: the connector is built on the same API and is not listed yet.
  • Zapier: the app is built on the same API and is not listed yet.

Connector triggers subscribe a webhook: Business and up.

The connection check a connector runs
curl https://api.onplana.com/api/organizations/current \
  -H "Authorization: Bearer pat_YOUR_TOKEN"

How a request works

  • Send the token as a Bearer token. A token is bound to the organization it was made in, so a request needs no organization header.
  • Errors come back as JSON with a sentence that is safe to show, a code, and a requestId to quote when you write to support.
  • Limits are set per route family. A refused request answers 429 with a Retry-After header in seconds: wait that long, then retry.
  • The spec is at api.onplana.com/api/openapi.json, so you can generate a client in any language from it.

Which plan each door needs

Read from the pricing table, so this list and the pricing page always agree.

What you usePlan
REST API and personal access tokensEvery plan, including Free
WebhooksBusiness and up
OData reporting feedProfessional and up
MCP serverEvery plan, including Free
Microsoft Teams app and Copilot agentEvery plan, including Free
SharePoint and OneDrive file linksProfessional and up
Connector triggers (they subscribe a webhook)Business and up

Questions developers ask

Is there an SDK?

No. The API is plain JSON over HTTPS with an OpenAPI 3.1 spec, so any HTTP client works, and you can generate a typed client from the spec.

Does the API cost extra?

No. The REST API and tokens are on every plan, including Free. Webhooks are on the Business plan and up and the OData feed on the Professional plan and up.

Can my server application act for many customers?

Not yet through OAuth. Today each customer creates a token for your integration, and the token acts as the person who made it. If your product needs more, tell us what it is.

Where are the terms for using the API?

The API terms page in the developer docs covers acceptable use, what a token stands for, and how breaking changes are announced.

Make your first token

Sign up free, open Settings, then Developer, and make a token with the scopes your code needs.