Features Pricing API Docs Sign In Get Started

API Documentation

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

Create Roadmap

Create a new roadmap. Default columns (Planned, In Progress, Done) and tags (Feature, Bug, Improvement) are created automatically.

POST https://api.pathwayful.com/roadmaps

Headers

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

Request body

{
  "roadmap": {
    "name": "Product Roadmap",
    "slug": "product-roadmap",
    "description": "Our product roadmap"
  }
}

Response body

{
  "id": "uuid",
  "name": "Product Roadmap",
  "slug": "product-roadmap",
  "description": "Our product roadmap",
  "custom_domain": null,
  "domain_active": false,
  "created_at": "2024-01-01T00:00:00Z",
  "columns": [
    {
      "id": "uuid",
      "name": "Planned",
      "position": 0
    }
  ],
  "issues": [],
  "tags": [
    {
      "id": "uuid",
      "name": "Feature",
      "color": "#3B82F6"
    }
  ]
}

Code Examples

curl -X POST "https://api.pathwayful.com/roadmaps" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "roadmap": {
      "name": "Product Roadmap",
      "slug": "product-roadmap",
      "description": "Our product roadmap"
    }
  }'
// Create a new roadmap
const response = await fetch('https://api.pathwayful.com/roadmaps', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer ' + yourToken,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    roadmap: {
      name: 'Product Roadmap',
      slug: 'product-roadmap',
      description: 'Our product roadmap'
    }
  })
});

const roadmap = await response.json();
console.log('Created roadmap:', roadmap);
# Create a new roadmap
import requests

headers = {
    'Authorization': f'Bearer {your_token}',
    'Content-Type': 'application/json'
}

data = {
    'roadmap': {
        'name': 'Product Roadmap',
        'slug': 'product-roadmap',
        'description': 'Our product roadmap'
    }
}

response = requests.post(
    'https://api.pathwayful.com/roadmaps',
    headers=headers,
    json=data
)

roadmap = response.json()
print(f"Created roadmap: {roadmap}")
// Create a new roadmap
package main

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

func main() {
    data := map[string]interface{}{
        "roadmap": map[string]string{
            "name":        "Product Roadmap",
            "slug":        "product-roadmap",
            "description": "Our product roadmap",
        },
    }
    jsonData, _ := json.Marshal(data)

    req, _ := http.NewRequest("POST", "https://api.pathwayful.com/roadmaps", 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 roadmap map[string]interface{}
    json.NewDecoder(resp.Body).Decode(&roadmap)
    fmt.Printf("Created roadmap: %v\n", roadmap)
}
# Create a new roadmap
require 'net/http'
require 'json'
require 'uri'

uri = URI('https://api.pathwayful.com/roadmaps')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true

request = Net::HTTP::Post.new(uri)
request['Authorization'] = "Bearer #{your_token}"
request['Content-Type'] = 'application/json'
request.body = {
  roadmap: {
    name: 'Product Roadmap',
    slug: 'product-roadmap',
    description: 'Our product roadmap'
  }
}.to_json

response = http.request(request)
roadmap = JSON.parse(response.body)
puts "Created roadmap: #{roadmap}"
<?php
// Create a new roadmap
$data = [
    'roadmap' => [
        'name' => 'Product Roadmap',
        'slug' => 'product-roadmap',
        'description' => 'Our product roadmap'
    ]
];

$ch = curl_init('https://api.pathwayful.com/roadmaps');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
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);

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