From hootsuite-pack
Diagnoses and fixes common Hootsuite API errors: 401/403 unauthorized, 422 validation, 429 rate limits, OAuth token issues, media uploads. Includes curl diagnostics and fixes.
npx claudepluginhub jeremylongshore/claude-code-plugins-plus-skills --plugin hootsuite-packThis skill is limited to using the following tools:
**Cause:** Access token expired (tokens last ~1 hour).
Collects Hootsuite debug bundle with credential checks, API connectivity tests, social profiles, and logs for support tickets and troubleshooting.
Diagnose and fix HubSpot API errors like 401, 403, 409 with real JSON responses, causes, and solutions including curl token checks and scope regeneration.
Diagnoses and fixes SalesLoft REST API v2 errors: 401 (tokens), 403 (scopes), 422 (validation), 429 (rate limits), 5xx. Includes OAuth troubleshooting, retry code, and curl examples.
Share bugs, ideas, or general feedback.
Cause: Access token expired (tokens last ~1 hour). Fix: Refresh token via OAuth:
curl -X POST https://platform.hootsuite.com/oauth2/token \
-u "$HOOTSUITE_CLIENT_ID:$HOOTSUITE_CLIENT_SECRET" \
-d "grant_type=refresh_token&refresh_token=$HOOTSUITE_REFRESH_TOKEN"
Cause: App lacks required permissions or user doesn't own the resource. Fix: Check app scopes in developer portal. Ensure user has access to the social profile.
Cause: Scheduled time is in the past or invalid ISO 8601 format.
Fix: Always use future dates in ISO 8601: new Date(Date.now() + 3600000).toISOString()
Cause: Profile ID invalid or disconnected.
Fix: List profiles first: GET /v1/socialProfiles and verify IDs.
Cause: Rate limit exceeded.
Fix: Implement exponential backoff. See hootsuite-rate-limits.
Cause: File too large, wrong format, or exceeds platform limits. Fix: Check per-platform limits: Twitter images 5MB, Facebook 10MB, video varies.
Cause: Authorization code expired (30 second lifetime) or already used. Fix: Re-initiate OAuth flow — codes are single-use and expire in 30s.
Cause: Redirect URI doesn't exactly match app registration. Fix: Must match character-for-character, including trailing slash.
# Test token validity
curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer $HOOTSUITE_ACCESS_TOKEN" \
https://platform.hootsuite.com/v1/me
# List profiles (verifies full API access)
curl -s -H "Authorization: Bearer $HOOTSUITE_ACCESS_TOKEN" \
https://platform.hootsuite.com/v1/socialProfiles | python3 -m json.tool
For debugging tools, see hootsuite-debug-bundle.