← All articles
  • API
  • Product

Create stories from anywhere with the Scrumpy API

Give any external system a team-scoped API key and let it create stories in your backlog. Perfect for turning a support form or ticket inbox into ready-to-work stories, with the requester tracked automatically.

3 min readThe Scrumpy team

Not every story starts on the board. Support tickets arrive through a form, incidents come from a monitoring tool, requests land in a shared inbox. Until now, someone had to read those and re-type them into your backlog by hand. So we added an API: point any external system at Scrumpy and let it create stories for you.

It is live now, and like the rest of Scrumpy, it is included in your plan.

A key per team, managed by admins

Open Team settings and you will find an API keys section. An admin creates a key, gives it a name like "ICT support form", and copies the token once. That token is scoped to that one team, so anything using it can only create stories there, never in another team or another organization. The boundary is built in, not a rule you have to remember.

Need to shut a key off? Revoke it from the same screen and it stops working immediately.

One small, safe endpoint

Creating a story is a single request:

POST https://your-app/api/v1/stories
Authorization: Bearer <your API key>
Content-Type: application/json

{
  "title": "Printer on the 3rd floor is offline",
  "description": "Won't power on since this morning.",
  "requester_email": "jane@corp.test",
  "story_type": "bug"
}

That is the whole surface. On purpose. The caller can set the title, the description, who asked (requester_email), and the type, and that is it. Story points and priority are decided inside Scrumpy, so an inbound ticket can't quietly mark itself urgent. Descriptions are sanitised on the way in, so pasted HTML can't smuggle anything onto your board.

You always know where a story came from

An imported story that looks exactly like a hand-written one is a trap, so API stories wear a small badge. On the card, in the detail panel, and in the activity timeline you will see it was created via the API, along with the requester's email (or the key's name if there is no email). When a teammate opens a ticket, they know at a glance that it came from the support form and who is waiting on it.

A real example: a support form to a backlog

The setup we built this for: an IT support team with a simple web form. Someone submits "my laptop won't charge", the form POSTs to the API with their email as the requester, and a new story appears in the support team's backlog, in the default status, ready to be picked up. No copy-paste, no missed tickets, and the person who reported it is recorded on the story.

Swap the form for a monitoring alert, a chatbot, or a script, and the pattern is the same.

Try it

If you are an admin, open Team settings, create a key, and send your first request, the endpoint and a copy-paste example are right there next to the key. If you do not have a board yet, you can start a free 7-day trial with every feature included, this one as well, and no credit card required.

Less re-typing, fewer dropped requests, and a backlog that fills itself from the tools you already use.

Frequently asked questions

Who can create and manage API keys?

Only organization admins. Keys are created and revoked from Team settings, and each key belongs to one specific team. A key for one team can never create stories in another team or organization, so there is no way to cross the streams by accident.

What can the API set on a story?

The intake surface is deliberately small: a title, a description, an optional requester email, and an optional story type (bug, feature or task). Story points and priority are set inside Scrumpy, not by the caller, so an inbound ticket can't decide its own priority. New stories land in the team's default status.

How do we know a story came from the API?

Every API-created story is tagged on the card, in its detail panel, and in its activity history. It shows the requester's email (or the key's name when there's no email), so you always know a story arrived through an integration and who asked for it.

Is the API included in our plan?

Yes. Like everything else in Scrumpy, it is part of the same flat plan, $9 per editor per month with every feature included. No API tier, no per-request fees, and view-only seats stay free.

Keep reading