Skip to main content

Authentication & Setup

Basic GraphQL Client

Error Handling with Retry

Quest Patterns

Quest Status Validation

User Eligibility Check

Pagination Patterns

Standard Pagination Query

Fetch All Pages

Leaderboard Patterns

No Direct User Lookup: The B2B API does not provide direct user position lookup. You must search through leaderboard pages to find a specific user.

Credential Patterns

Batch Eligibility Check

Credential Validation

Real-time Monitoring

Simple Polling Monitor

Rate Limiting

Simple Rate Limiter

Data Transformation

Standardize User Objects

Format Points and Rankings

Utility Functions

Time Helpers

Validation Helpers

Best Practices Summary

  1. Always validate inputs before API calls
  2. Implement retry logic for network failures
  3. Use pagination for large datasets
  4. Cache frequently accessed data (30-60 seconds)
  5. Handle rate limits with exponential backoff
  6. Monitor for errors and log appropriately
  7. Use environment variables for sensitive data

Quick Reference

Essential Queries

  • Quest status: quest(id) { status startTime endTime }
  • User eligibility: quest(id) { credentialGroups(address) { conditions { eligible } } }
  • Leaderboard: space(id) { loyaltyPointsRanks(cursorAfter) { list { rank points address { username } } } }
  • User search: Must paginate through leaderboard to find specific users

Common Response Patterns

  • Paginated: { pageInfo { hasNextPage endCursor } edges { node { ... } } }
  • User objects: { address { username address } } or { username address }
  • Error format: { errors [{ message extensions { code category } }] }

Next Steps