Menu

Examples

Real-world paso declarations for popular APIs.

paso includes complete, production-ready examples in the repository. Each example shows how to declare an API and expose it safely to Claude.

Overview

All examples are available in the paso repository:

examples/
├── sentry/
├── stripe/
├── linear/
├── github/
├── slack/
└── twilio/

Each example includes a usepaso.yaml declaration ready to use.


Sentry

Error tracking and performance monitoring.

What it declares:

  • List projects
  • Get project details
  • Create issues
  • Resolve events
  • Search events

Example capabilities:

  • list_projects (read) — Get all Sentry projects
  • search_events (read) — Search error events
  • create_issue (write) — Create a new issue
  • resolve_event (write) — Resolve an event

Repository: github.com/5h1vmani/usepaso/tree/main/examples/sentry

Complete Sentry Declaration

name: sentry-api
version: "1.0.0"
base_url: https://sentry.io/api/0
auth:
  type: bearer
  env_var: SENTRY_AUTH_TOKEN

capabilities:
  - name: list_projects
    description: List all projects in your Sentry organization
    method: GET
    path: /organizations/{org_slug}/projects/
    permission: read
    inputs:
      - name: org_slug
        type: string
        required: true
        description: Organization slug
      - name: query
        type: string
        description: Filter projects by name
    constraints:
      rate_limit: 10

  - name: get_project
    description: Get details for a specific project
    method: GET
    path: /organizations/{org_slug}/projects/{project_slug}/
    permission: read
    inputs:
      - name: org_slug
        type: string
        required: true
      - name: project_slug
        type: string
        required: true

  - name: search_events
    description: Search error events in a project
    method: GET
    path: /organizations/{org_slug}/projects/{project_slug}/events/
    permission: read
    inputs:
      - name: org_slug
        type: string
        required: true
      - name: project_slug
        type: string
        required: true
      - name: query
        type: string
        description: Search query (e.g., "error.type:TypeError")
      - name: limit
        type: number
        default: 20
        constraints:
          max_value: 100
    constraints:
      rate_limit: 5
      max_items: 100

  - name: create_issue
    description: Create an issue from an event
    method: POST
    path: /organizations/{org_slug}/projects/{project_slug}/issues/
    permission: write
    consent_required: true
    inputs:
      - name: org_slug
        type: string
        required: true
      - name: project_slug
        type: string
        required: true
      - name: title
        type: string
        required: true
      - name: description
        type: string

  - name: resolve_event
    description: Mark an event as resolved
    method: PUT
    path: /organizations/{org_slug}/projects/{project_slug}/issues/{issue_id}/
    permission: write
    inputs:
      - name: org_slug
        type: string
        required: true
      - name: project_slug
        type: string
        required: true
      - name: issue_id
        type: string
        required: true
      - name: status
        type: string
        default: resolved
        enum:
          - resolved
          - ignored
          - unresolved

forbidden:
  paths:
    - /organizations/{org_slug}/settings/*
    - /admin/*

Stripe

Payment processing and subscription management.

What it declares:

  • List customers
  • Get customer details
  • Create customers
  • List charges
  • Create payment intents
  • Manage subscriptions

Example capabilities:

  • list_customers (read)
  • create_customer (write)
  • list_charges (read)
  • create_payment_intent (write)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/stripe


Linear

Issue tracking and project management.

What it declares:

  • List issues
  • Create issues
  • Update issue status
  • List projects
  • Create comments
  • Search issues

Example capabilities:

  • list_issues (read)
  • create_issue (write)
  • update_issue_status (write)
  • add_comment (write)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/linear


GitHub

Version control and collaboration.

What it declares:

  • List repositories
  • Get repository details
  • Create issues
  • List pull requests
  • Create releases
  • Manage branches

Example capabilities:

  • list_repos (read)
  • list_issues (read)
  • create_issue (write)
  • list_pull_requests (read)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/github


Slack

Team communication and messaging.

What it declares:

  • List channels
  • Send messages
  • Get message history
  • List members
  • Create channels
  • Get user info

Example capabilities:

  • list_channels (read)
  • send_message (write)
  • get_messages (read)
  • list_members (read)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/slack


Twilio

SMS and voice communications.

What it declares:

  • Send SMS messages
  • Get message status
  • List messages
  • Create calls
  • Get call status

Example capabilities:

  • send_sms (write)
  • get_message (read)
  • list_messages (read)
  • create_call (write)

Repository: github.com/5h1vmani/usepaso/tree/main/examples/twilio


Using Examples

1. Clone the Repository

git clone https://github.com/5h1vmani/usepaso.git
cd usepaso

2. Copy an Example

cp -r examples/github my-github-api
cd my-github-api

3. Customize

Edit usepaso.yaml to:

  • Remove capabilities you don’t need
  • Adjust permission tiers
  • Add constraints
  • Set forbidden paths

4. Validate

usepaso validate

5. Test

export GITHUB_TOKEN=your-token-here
usepaso test list_repos

6. Deploy

Add to Claude Desktop or Cursor following Claude Desktop Setup.


Creating Your Own

Use examples as templates:

  1. Find an example closest to your API
  2. Copy the structure
  3. Modify paths, methods, and parameters for your API
  4. Run usepaso validate
  5. Test with usepaso test
  6. Deploy

Examples follow best practices:

  • Minimal exposed surface area
  • Clear descriptions
  • Appropriate permission tiers
  • Safety constraints
  • Forbidden lists for sensitive endpoints

Pick an example, make it yours.

Clone one, customize the YAML, and serve. Every example is production-ready.

Next, you might want to: