From ramp-pack
Implements OAuth2 authentication and API patterns for Ramp enterprise RBAC, enabling card management and expense queries in Python.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin ramp-packThis skill is limited to using the following tools:
Implementation patterns for Ramp enterprise rbac using the Developer API with OAuth2 authentication.
Implements OAuth2 client credentials for Ramp API to manage corporate cards and expenses securely. Includes token fetch, API calls, and error handling for integrations.
Guides Next.js Cache Components and Partial Prerendering (PPR): 'use cache' directives, cacheLife(), cacheTag(), revalidateTag() for caching, invalidation, static/dynamic optimization. Auto-activates on cacheComponents: true.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Share bugs, ideas, or general feedback.
Implementation patterns for Ramp enterprise rbac using the Developer API with OAuth2 authentication.
ramp-install-auth setupimport os, requests
# Obtain token
token_resp = requests.post(f"{os.environ['RAMP_BASE_URL'].replace('/v1','')}/v1/token", data={
"grant_type": "client_credentials",
"client_id": os.environ["RAMP_CLIENT_ID"],
"client_secret": os.environ["RAMP_CLIENT_SECRET"],
})
access_token = token_resp.json()["access_token"]
headers = {"Authorization": f"Bearer {access_token}"}
cards = requests.get(f"{os.environ['RAMP_BASE_URL']}/cards", headers=headers)
print(f"Cards: {len(cards.json()['data'])}")
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Expired token | Re-authenticate |
| 429 Rate Limited | Too many requests | Implement backoff |
| 403 Forbidden | Insufficient permissions | Check API app permissions |
See related Ramp skills for more workflows.