Shorter Loop API Documentation
  1. User stories
Shorter Loop API Documentation
  • Getting started
    • Welcome to the Shorter Loop API Portal
    • Authentication
    • Base URL
    • 2 way Jira Integration
    • Create webhook in Shorter Loop
  • Metrics
    • Create a Key Performance Indicator (KPI)
      POST
    • Update the Key Performance Indicator (KPI)
      PUT
    • Retrieve KPIs not linked to specific product backlog items
      GET
    • Insert KPI's records (Body JSON Payload)
      POST
    • Insert KPI's records (Upload CSV)
      POST
    • Insert KPI's records (Upload JSON)
      POST
  • Idea manager
    • Feedback Collection
      • Create idea and issue
      • Retrieves a list of categories
      • Modify feedback item
      • Removes a feedback item
      • Upvote or downvote a work item
      • Retrieve a feedback item
      • Get comments for a feedback item.
      • Reply to a comment
      • Modify a comment
      • Bulk create feedback items: CSV and JSON
    • Segments
      • Retrieves a list of segments without users
      • Create segment
      • Modify a segment
      • Removes a segment
      • Bulk create users to a segment
      • Manage user segments: move or remove
      • Retrieve segments with users
      • Retrieve segment with users
      • Import Users (CSV/JSON)
      • Sending email to segment members
      • Sending email to selected idm members
    • Bulk create idea manager members
      POST
    • Import Users (CSV/JSON) in IDM
      POST
    • Bulk re-invite in IDM
      PUT
  • Backlog Management
    • Epics
      • Create a new epic
      • Modify an epic
      • Retrieve details of the epic
      • Removes the epic
    • Features
      • Create a new feature
      • Modify a feature
      • Retrieve details of the feature
      • Removes the feature
    • User stories
      • Create a new user story
        POST
      • Modify a user story
        PUT
      • Retrieve user story
        GET
      • Removes the user story
        DELETE
    • Assets
      • Attaches files to the workitem
      • Removes an asset
      • Retrieve attachments for the backlog workitem with ID
    • Product Tags
      • Retrieves tags for initiative
    • Teams
      • Get teams and members for product
    • Personas
      • Retrieve personas associated with initiative
    • Get whole backlog tree
      GET
  • Strategy Board
    • Experiment
      • Create a new experiemnt variant
    • Solutions
      • Versions
        • Storymap versions api documentation
        • Create a version
        • Update version
        • Removes a version
        • Retrieve versions
      • Get all storymaps for solution
  • Persona Board V2
    • Segments
      • Permanently deletes a segment
      • Creates a new option
      • Retrieve a list of segments
      • Retrieve a segment
      • Create a segment
      • Removes a segment
      • Removes a segment option
      • Detaches a segment from the persona
      • Update segment option
    • Custom fields
      • Removes a custom field
      • Retrieve a list of custom fields
      • Retrieve a custom field
      • Create a custom field
      • Removes a custom field option
      • Detaches a custom field from persona
      • Retrieve custom fields excluding persona
      • Creates a new option
      • Permanently deletes a custom field
      • Update custom field
      • Update custom field option
      • Attach a custom field to a persona
    • Create opportunities from summary
    • Retrieve notes
    • Retrieve persona
    • Retrieve experiments for Persona
    • Create
    • Retrieve
  • DocsHub
    • Retrieve categories with templates
    • Retrieve a template based on category
    • Create copy of template while using template
  • testing
    GET
  1. User stories

Modify a user story

PUT
/api/initiatives/SHO-MJXR/storyMap/card/US-87
Update the details of the card identified by ID 1238 in the story map of the initiative with external key SHO-MJXR.

Request

Header Params
Authorization
string 
required
Default:
Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MjA3NSwiZmlyc3ROYW1lIjoiZGVlcGlrYSIsImxhc3ROYW1lIjpudWxsLCJ1c2VyRXhwZXJpZW5jZSI6bnVsbCwiZW1haWwiOiJkcGF0aWFsK2ppcmFAc2hvcnRlcmxvb3AuY29tIiwiZGlzcGxheU5hbWUiOiJkZWVwaWthIiwicHJvZmlsZUltYWdlIjoiMTM3OC9nZW5lcmFsL3VzZXJzL0lJM0YyMDc1YzZhNS5zdmciLCJ0aW1lWm9uZUFiYnIiOm51bGwsInN0YXR1cyI6ImFjdGl2ZSIsInByb3ZpZGVyIjoiY3VzdG9tIiwidGVybXNBY2NlcHRlZCI6MSwibGFzdFBhZ2UiOiIvQ09OT1AvcHJvZHVjdC9ERUUvZG9jdW1lbnRhdGlvbi91bnRpdGxlZC02LTY0ZjQiLCJ2ZXJpZmljYXRpb25Ub2tlbiI6IiIsImxhc3RTaWduSW4iOiIyMDI1LTA0LTAxVDE0OjMwOjIwLjAwMFoiLCJyb2xlIjoic3VwZXJhZG1pbiIsImlzUHJvZGVhc3lBZG1pbiI6MCwiZ3JvdXAiOjEsInJlZmVycmVyIjpudWxsLCJpc1ZlcmlmaWVkIjoxLCJyZWZlcnJlclRva2VuIjpudWxsLCJyZWZyZXNoUmVmZXJyZXJUb2tlbiI6bnVsbCwiYmlvIjpudWxsLCJjcmVhdGVkQXQiOiIyMDI1LTAzLTE3VDA5OjM2OjU2LjAwMFoiLCJ1cGRhdGVkQXQiOiIyMDI1LTA0LTAxVDE0OjMwOjIwLjAwMFoiLCJzdWJzY3JpcHRpb24iOnsidXNlclJvbGUiOiJzdXBlcmFkbWluIiwic3Vic2NyaXB0aW9uRXh0ZXJuYWxLZXkiOiJDT05PUCIsImV4dGVybmFsS2V5IjoiQ09OT1AiLCJjbmFtZSI6bnVsbCwiaWQiOjEzNzh9LCJzdWJzY3JpcHRpb25JZCI6MTM3OCwiZXh0ZXJuYWxLZXkiOiJDT05PUCIsInN1YnNjcmlwdGlvbkV4dGVybmFsS2V5IjoiQ09OT1AiLCJ0aW1lIjoiMjAyNS0wNC0wMlQwNTo0Mzo1NC41MDRaIiwiaWF0IjoxNzQzNTcyNjM0LCJleHAiOjE3NDM4MzE4MzR9.UJaUHpd_XJyGSv4C0DaaEVxDDQKzKZ_lKPkf8Yrr-Oc
initiativeId
string 
required
How to get initiativeId:
Visit https://app.shorterloop.com/ACME/product/SHO-MJXR/dashboard.
The initiativeId is SHO-MJXR in the URL.
Use this initiativeId in the initiativeId header for API requests.
Default:
DEE
Example:
MGMT
Content-Type
string 
required
Default:
application/json
Body Params application/json
summary
string 
optional
color
string 
optional
progress
string 
optional
backlog
boolean 
optional
description
string 
optional
businessGoal
string 
optional
persona
array [object {2}] 
optional
personaValue
string 
optional
personaId
integer 
optional
teamId
null 
optional
userId
array[integer]
optional
startDate
string 
optional
endDate
string 
optional
tags
string 
optional
urls
array [object {1}] 
optional
url
string 
optional
jiraId
string 
optional
jiraKey
string 
optional
externalProgress
string 
optional
epicId
integer 
optional
featureId
integer 
optional
storyPoint
string 
optional
remainingTime
string 
optional
kpis
array[string]
optional
files
array [object {1}] 
optional
file
object 
optional
Example
{
  "summary": "As a product manager, I want to implement personalized onboarding emails based on user behavior to improve user retention rates",
  "color": "#4784fc",
  "progress": "to-do",
  "backlog": true,
  "description": "<ul><li><strong>Acceptance Criteria:</strong><ul><li>Develop a system to track user actions and behaviors within the first week of signup.</li><li>Design email templates that dynamically adjust content based on user activity.</li><li>Implement A/B testing for different email variants to optimize engagement.</li><li>Integrate analytics to measure the impact of personalized onboarding emails on user retention.</li></ul></li></ul><p>&nbsp;</p>",
  "businessGoal": "This user story aims to enhance user engagement and retention by leveraging personalized communication strategies.",
  "persona": [
    {
      "personaValue": "Product Managers (Strategy Oriented)",
      "personaId": 996
    },
    {
      "personaValue": "Product Managers (Strategy Oriented)",
      "personaId": 996
    },
    {
      "personaValue": "Product Managers (Strategy Oriented)",
      "personaId": 996
    }
  ],
  "teamId": null,
  "userId": [],
  "startDate": "2024-06-30T18:30:00.000Z",
  "endDate": "2024-07-18T18:30:00.000Z",
  "tags": "[\"Product management\",\"engagement\"]",
  "urls": [
    {
      "url": "https://example.com"
    },
    {
      "url": "https://example.com"
    },
    {
      "url": "https://example.com"
    }
  ],
  "jiraId": "",
  "jiraKey": "",
  "externalProgress": "",
  "epicId": 0,
  "featureId": 0,
  "storyPoint": "7",
  "remainingTime": "3",
  "kpis": [],
  "type": "userstory",
  "progressPercentage": 0,
  "firstChild": "features",
  "files": [
    {
      "file": {
        "id": 3246,
        "path": "1346/1116/16802/onboarding.png",
        "size": "0.00",
        "sizeType": "kb",
        "userId": 17355,
        "subscriptionId": 1346,
        "initiativeId": 1116,
        "usedAt": "userstory",
        "description": null,
        "name": "onboarding.png",
        "artifactId": 1238,
        "status": "active",
        "createdAt": "2024-07-12T03:39:36.000Z",
        "updatedAt": "2024-07-12T03:39:36.000Z",
        "file": "https://prodeasy.s3.eu-central-1.amazonaws.com/1346/1116/16802/onboarding.png"
      }
    },
    {
      "file": {
        "id": 3246,
        "path": "1346/1116/16802/onboarding.png",
        "size": "0.00",
        "sizeType": "kb",
        "userId": 17355,
        "subscriptionId": 1346,
        "initiativeId": 1116,
        "usedAt": "userstory",
        "description": null,
        "name": "onboarding.png",
        "artifactId": 1238,
        "status": "active",
        "createdAt": "2024-07-12T03:39:36.000Z",
        "updatedAt": "2024-07-12T03:39:36.000Z",
        "file": "https://prodeasy.s3.eu-central-1.amazonaws.com/1346/1116/16802/onboarding.png"
      }
    },
    {
      "file": {
        "id": 3246,
        "path": "1346/1116/16802/onboarding.png",
        "size": "0.00",
        "sizeType": "kb",
        "userId": 17355,
        "subscriptionId": 1346,
        "initiativeId": 1116,
        "usedAt": "userstory",
        "description": null,
        "name": "onboarding.png",
        "artifactId": 1238,
        "status": "active",
        "createdAt": "2024-07-12T03:39:36.000Z",
        "updatedAt": "2024-07-12T03:39:36.000Z",
        "file": "https://prodeasy.s3.eu-central-1.amazonaws.com/1346/1116/16802/onboarding.png"
      }
    }
  ]
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request PUT 'https://api.shorterloop.com/api/initiatives/SHO-MJXR/storyMap/card/US-87' \
--header 'Authorization;' \
--header 'initiativeId;' \
--header 'Content-Type: application/json' \
--data-raw '{
    "summary": "As a product manager, I want to implement personalized onboarding emails based on user behavior to improve user retention rates",
    "color": "#4784fc",
    "progress": "to-do",
    "backlog": true,
    "description": "<ul><li><strong>Acceptance Criteria:</strong><ul><li>Develop a system to track user actions and behaviors within the first week of signup.</li><li>Design email templates that dynamically adjust content based on user activity.</li><li>Implement A/B testing for different email variants to optimize engagement.</li><li>Integrate analytics to measure the impact of personalized onboarding emails on user retention.</li></ul></li></ul><p>&nbsp;</p>",
    "businessGoal": "This user story aims to enhance user engagement and retention by leveraging personalized communication strategies.",
    "persona": [
        {
            "personaValue": "Product Managers (Strategy Oriented)",
            "personaId": 996
        },
        {
            "personaValue": "Product Managers (Strategy Oriented)",
            "personaId": 996
        },
        {
            "personaValue": "Product Managers (Strategy Oriented)",
            "personaId": 996
        }
    ],
    "teamId": null,
    "userId": [],
    "startDate": "2024-06-30T18:30:00.000Z",
    "endDate": "2024-07-18T18:30:00.000Z",
    "tags": "[\"Product management\",\"engagement\"]",
    "urls": [
        {
            "url": "https://example.com"
        },
        {
            "url": "https://example.com"
        },
        {
            "url": "https://example.com"
        }
    ],
    "jiraId": "",
    "jiraKey": "",
    "externalProgress": "",
    "epicId": 0,
    "featureId": 0,
    "storyPoint": "7",
    "remainingTime": "3",
    "kpis": [],
    "type": "userstory",
    "progressPercentage": 0,
    "firstChild": "features",
    "files": [
        {
            "file": {
                "id": 3246,
                "path": "1346/1116/16802/onboarding.png",
                "size": "0.00",
                "sizeType": "kb",
                "userId": 17355,
                "subscriptionId": 1346,
                "initiativeId": 1116,
                "usedAt": "userstory",
                "description": null,
                "name": "onboarding.png",
                "artifactId": 1238,
                "status": "active",
                "createdAt": "2024-07-12T03:39:36.000Z",
                "updatedAt": "2024-07-12T03:39:36.000Z",
                "file": "https://prodeasy.s3.eu-central-1.amazonaws.com/1346/1116/16802/onboarding.png"
            }
        },
        {
            "file": {
                "id": 3246,
                "path": "1346/1116/16802/onboarding.png",
                "size": "0.00",
                "sizeType": "kb",
                "userId": 17355,
                "subscriptionId": 1346,
                "initiativeId": 1116,
                "usedAt": "userstory",
                "description": null,
                "name": "onboarding.png",
                "artifactId": 1238,
                "status": "active",
                "createdAt": "2024-07-12T03:39:36.000Z",
                "updatedAt": "2024-07-12T03:39:36.000Z",
                "file": "https://prodeasy.s3.eu-central-1.amazonaws.com/1346/1116/16802/onboarding.png"
            }
        },
        {
            "file": {
                "id": 3246,
                "path": "1346/1116/16802/onboarding.png",
                "size": "0.00",
                "sizeType": "kb",
                "userId": 17355,
                "subscriptionId": 1346,
                "initiativeId": 1116,
                "usedAt": "userstory",
                "description": null,
                "name": "onboarding.png",
                "artifactId": 1238,
                "status": "active",
                "createdAt": "2024-07-12T03:39:36.000Z",
                "updatedAt": "2024-07-12T03:39:36.000Z",
                "file": "https://prodeasy.s3.eu-central-1.amazonaws.com/1346/1116/16802/onboarding.png"
            }
        }
    ]
}'

Responses

🟢200Success
application/json
Body
success
boolean 
required
message
string 
required
data
object 
required
Example
{
  "success": true,
  "message": "Card has been edited",
  "data": {}
}
Previous
Create a new user story
Next
Retrieve user story
Built with