Skip to main content
The Gately API is a RESTful API that allows you to programmatically interact with your Gately project. Use it to manage users, forms, content, and more.

Base URL

All API requests should be made to:
https://api.usegately.com/api/v1
The legacy /sdk path is still supported for backward compatibility but is deprecated. New integrations should use /api/v1.

API Playground

Try it live! Each API endpoint page has an interactive playground. Enter your API key and test requests directly from the documentation.
To use the API playground:
  1. Get your API key from Dashboard → Settings → API Keys
  2. Click on any endpoint in the sidebar
  3. Enter your API key in the Authorization field (format: gately_sk_live_xxxxx)
  4. Fill in the parameters and click Send
Make sure you’re using a valid API key that starts with gately_. Project IDs won’t work - you need an actual API key from your dashboard.

Available Endpoints

The Gately API provides endpoints for:
CategoryDescription
AuthenticationLogin, signup, magic links, SSO
MembersCRUD operations for project members
FormsForm management and submissions
AnalyticsPage views, events, and statistics
PlansSubscription plans and management
DiscussionsCommunity discussions and comments
EcommerceProducts, cart, and orders
Help CenterKnowledge base articles and search
FeedbackCustomer feedback collection
LMSCourses, enrollments, and progress
Member ContentPage protection rules
StorageFile uploads
WebhooksEvent notifications

Authentication

The API uses API key authentication. Your API key contains the project context, so no separate project ID is needed.

API Key Authentication

Include your API key in the Authorization header:
curl -X GET "https://api.usegately.com/api/v1/members" \
  -H "Authorization: Bearer YOUR_API_KEY"

JWT Authentication (Client-side)

For client-side requests from authenticated users, use the JWT token from a user session:
curl -X GET "https://api.usegately.com/api/v1/user/profile" \
  -H "Authorization: Bearer USER_JWT_TOKEN"

Request Headers

All requests must include:
HeaderDescription
AuthorizationBearer token (API key or JWT)
Content-Typeapplication/json for POST/PUT requests

Response Format

All responses are returned in JSON format:
{
  "success": true,
  "data": {
    // Response data
  }
}

Error Responses

{
  "success": false,
  "error": "Error message",
  "code": "ERROR_CODE"
}

HTTP Status Codes

CodeDescription
200Success
201Created
400Bad Request - Invalid parameters
401Unauthorized - Invalid or missing authentication
403Forbidden - Insufficient permissions
404Not Found - Resource doesn’t exist
422Validation Error - Invalid input data
429Rate Limited - Too many requests
500Server Error - Something went wrong

Rate Limiting

API requests are rate limited to ensure fair usage:
  • Standard: 100 requests per minute
  • Authentication endpoints: 20 requests per minute
Rate limit headers are included in responses:
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1640000000

Pagination

List endpoints support pagination:
GET /api/members?page=1&limit=20
Response includes pagination metadata:
{
  "data": [...],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 150,
    "total_pages": 8
  }
}

Filtering & Sorting

Many endpoints support filtering and sorting:
# Filter by status
GET /api/members?status=active

# Sort by created date
GET /api/members?sort=created_at&order=desc

# Search
GET /api/members?search=john

SDKs & Libraries

We provide official SDKs for common platforms:

Need Help?