Features Pricing API Docs Sign In Get Started

API Documentation

The Pathwayful API is easy to use and free for all plans.

Update Issue

Update an issue's title, description, column, position, or tags. Moving an issue to a different column notifies subscribers.

PATCH https://api.pathwayful.com/roadmaps/:roadmap_id/issues/:id

Headers

  • AuthorizationREQUIRED STRING
    Bearer $TOKEN
  • Content-TypeREQUIRED STRING
    application/json

Request body

{
  "issue": {
    "title": "Updated title",
    "column_id": "new-column-uuid",
    "position": 1
  }
}

Response body

{
  "id": "uuid",
  "title": "Updated title",
  "description": "Add dark mode support",
  "position": 1,
  "column_id": "new-column-uuid",
  "vote_count": 0,
  "comment_count": 0,
  "created_at": "2024-01-01T00:00:00Z",
  "tags": []
}

Code Examples

curl -X PATCH "https://api.pathwayful.com/roadmaps/your-roadmap-id/issues/your-issue-id" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "issue": {
      "title": "Updated title",
      "column_id": "new-column-uuid",
      "position": 1
    }
  }'
// Update an issue
const roadmapId = 'your-roadmap-id';
const issueId = 'your-issue-id';
const response = await fetch(`https://api.pathwayful.com/roadmaps/${roadmapId}/issues/${issueId}`, {
  method: 'PATCH',
  headers: {
    'Authorization': 'Bearer ' + yourToken,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    issue: {
      title: 'Updated title',
      column_id: 'new-column-uuid',
      position: 1
    }
  })
});

const issue = await response.json();
console.log('Updated issue:', issue);
# Update an issue
import requests

roadmap_id = 'your-roadmap-id'
issue_id = 'your-issue-id'
headers = {
    'Authorization': f'Bearer {your_token}',
    'Content-Type': 'application/json'
}

data = {
    'issue': {
        'title': 'Updated title',
        'column_id': 'new-column-uuid',
        'position': 1
    }
}

response = requests.patch(
    f'https://api.pathwayful.com/roadmaps/{roadmap_id}/issues/{issue_id}',
    headers=headers,
    json=data
)

issue = response.json()
print(f"Updated issue: {issue}")
// Update an issue
package main

import (
    "bytes"
    "encoding/json"
    "fmt"
    "net/http"
)

func main() {
    roadmapID := "your-roadmap-id"
    issueID := "your-issue-id"
    data := map[string]interface{}{
        "issue": map[string]interface{}{
            "title":     "Updated title",
            "column_id": "new-column-uuid",
            "position":  1,
        },
    }
    jsonData, _ := json.Marshal(data)

    url := "https://api.pathwayful.com/roadmaps/" + roadmapID + "/issues/" + issueID
    req, _ := http.NewRequest("PATCH", url, bytes.NewBuffer(jsonData))
    req.Header.Set("Authorization", "Bearer "+yourToken)
    req.Header.Set("Content-Type", "application/json")

    client := &http.Client{}
    resp, err := client.Do(req)
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()

    var issue map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&issue)
    fmt.Printf("Updated issue: %v\n", issue)
}
# Update an issue
require 'net/http'
require 'json'
require 'uri'

roadmap_id = 'your-roadmap-id'
issue_id = 'your-issue-id'
uri = URI("https://api.pathwayful.com/roadmaps/#{roadmap_id}/issues/#{issue_id}")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(uri)
request['Authorization'] = "Bearer #{your_token}"
request['Content-Type'] = 'application/json'
request.body = {
  issue: {
    title: 'Updated title',
    column_id: 'new-column-uuid',
    position: 1
  }
}.to_json

response = http.request(request)
issue = JSON.parse(response.body)
puts "Updated issue: #{issue}"
<?php
// Update an issue
$roadmapId = 'your-roadmap-id';
$issueId = 'your-issue-id';
$data = [
    'issue' => [
        'title' => 'Updated title',
        'column_id' => 'new-column-uuid',
        'position' => 1
    ]
];

$ch = curl_init("https://api.pathwayful.com/roadmaps/{$roadmapId}/issues/{$issueId}");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PATCH');
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Authorization: Bearer ' . $yourToken,
    'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);
curl_close($ch);

$issue = json_decode($response, true);
print_r($issue);