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 projectssearch_events(read) — Search error eventscreate_issue(write) — Create a new issueresolve_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:
- Find an example closest to your API
- Copy the structure
- Modify paths, methods, and parameters for your API
- Run
usepaso validate - Test with
usepaso test - 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:
- Quick Start — create your own declaration
- OpenAPI Import — auto-generate from spec
- Declarations — learn all fields
- GitHub Repository — view full examples