From procore-pack
Handles Procore REST API errors (401, 429, 403) with Python OAuth2 auth examples, backoff strategies, and solutions for construction/project integrations.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin procore-packThis skill is limited to using the following tools:
Implementation patterns for Procore common errors using the REST API with OAuth2 authentication.
Implements Procore REST API integration in Python with OAuth2 authentication for construction project management, RFIs, and submittals.
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 Procore common errors using the REST API with OAuth2 authentication.
procore-install-auth setupimport os, requests
token_resp = requests.post("https://login.procore.com/oauth/token", data={
"grant_type": "client_credentials",
"client_id": os.environ["PROCORE_CLIENT_ID"],
"client_secret": os.environ["PROCORE_CLIENT_SECRET"],
})
access_token = token_resp.json()["access_token"]
headers = {"Authorization": f"Bearer {access_token}"}
companies = requests.get("https://api.procore.com/rest/v1.0/companies", headers=headers)
print(f"Companies: {len(companies.json())}")
| Error | Cause | Solution |
|---|---|---|
| 401 Unauthorized | Expired token | Re-authenticate |
| 429 Rate Limited | Too many requests | Implement backoff |
| 403 Forbidden | Insufficient permissions | Check project role |
See related Procore skills for more workflows.