v2026.1 Open Portal ↗
On this page

Service Catalog API

Endpoints Overview

MethodPathDescription
GET/prod/api/catalog/itemsList catalog items
GET/prod/api/catalog/items/:idGet catalog item with form schema
POST/prod/api/catalog/items/:id/requestSubmit a catalog request
GET/prod/api/catalog/categoriesList categories
GET/prod/api/catalog/approvalsList pending approvals for caller
POST/prod/api/catalog/approvals/:id/approveApprove a request item
POST/prod/api/catalog/approvals/:id/rejectReject a request item

List Catalog Items

curl -H "Authorization: Bearer $TOKEN"   "https://your-instance.stackflow-tech.com/prod/api/catalog/items?category=hardware&active=true&limit=50"
{
  "data": [
    {
      "id": "cat_item_laptop_pro",
      "name": "MacBook Pro 16" M4",
      "category": "hardware",
      "short_description": "Apple MacBook Pro 16-inch with M4 chip",
      "price": 2499.00,
      "currency": "USD",
      "fulfillment_days": 5,
      "active": true,
      "requires_approval": true
    }
  ],
  "total": 42,
  "page": 1,
  "limit": 50
}

Get Catalog Item

curl -H "Authorization: Bearer $TOKEN"   https://your-instance.stackflow-tech.com/prod/api/catalog/items/cat_item_vpn_access
{
  "id": "cat_item_vpn_access",
  "name": "VPN Access Request",
  "category": "access",
  "form_schema": {
    "fields": [
      {"name": "vpn_region", "type": "select", "label": "VPN Region", "options": ["us-east-1","eu-west-1","ap-southeast-1"], "required": true},
      {"name": "access_level", "type": "select", "label": "Access Level", "options": ["standard","privileged"], "required": true},
      {"name": "justification", "type": "textarea", "label": "Business Justification", "required": true, "min_length": 20}
    ]
  },
  "approval_policy": {
    "stages": [
      {"approver_type": "manager", "sla_hours": 48},
      {"approver_type": "security_team", "condition": "access_level == privileged", "sla_hours": 24}
    ]
  },
  "fulfillment_group": "IT Security",
  "fulfillment_days": 1
}

Submit Catalog Request

curl -X POST   https://your-instance.stackflow-tech.com/prod/api/catalog/items/cat_item_vpn_access/request   -H "Authorization: Bearer $TOKEN"   -H "Content-Type: application/json"   -d '{
    "requested_for": "contractor@example.com",
    "variables": {
      "vpn_region": "us-east-1",
      "access_level": "standard",
      "justification": "Contractor needs VPN access to complete Q3 project work"
    }
  }'

Manage Approvals

# List pending approvals for current user
curl -H "Authorization: Bearer $TOKEN"   https://your-instance.stackflow-tech.com/prod/api/catalog/approvals?state=pending

# Approve a request item
curl -X POST   https://your-instance.stackflow-tech.com/prod/api/catalog/approvals/appr_001/approve   -H "Authorization: Bearer $TOKEN"   -H "Content-Type: application/json"   -d '{"comments": "Approved - contractor onboarding confirmed"}'

# Reject a request item
curl -X POST   https://your-instance.stackflow-tech.com/prod/api/catalog/approvals/appr_001/reject   -H "Authorization: Bearer $TOKEN"   -H "Content-Type: application/json"   -d '{"comments": "Rejected - access level not justified for this role"}'

Field Reference

FieldTypeDescription
idstringCatalog item identifier
namestringDisplay name
categorystringhardware, software, access, service, other
form_schemaobjectJSON schema for request form fields
approval_policyobjectMulti-stage approval configuration
pricedecimalItem price (0 if free)
fulfillment_daysintegerExpected fulfillment time in business days