Skip to main content
Members are users who have signed up for your project. Gately provides a complete member management system with profiles, plans, and activity tracking.

Overview

User Profiles

Store and manage user information

Plans & Tiers

Assign members to subscription plans

Activity Tracking

Monitor member engagement

Custom Fields

Add custom data to member profiles

Member Properties

PropertyTypeDescription
idstringUnique member identifier
emailstringMember’s email address
full_namestringDisplay name
avatar_urlstringProfile picture URL
plan_idstringCurrent subscription plan
statusstringactive, inactive, pending
metadataobjectCustom fields
created_atdatetimeRegistration date
last_login_atdatetimeLast login timestamp

Dashboard Features

Member List

View all members in a searchable, filterable table:
  • Search by name or email
  • Filter by plan, status, or date range
  • Sort by any column
  • Export to CSV

Member Details

Click on any member to view:
  • Profile information
  • Subscription history
  • Activity log
  • Custom field values

Bulk Actions

  • Send email campaigns to selected members
  • Change plans for multiple members
  • Export member data
  • Delete inactive members

API Usage

List Members

curl -X GET "https://api.usegately.com/api/v1/members" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Project-ID: your-project-id"

Get Member

curl -X GET "https://api.usegately.com/api/v1/members/{member_id}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Project-ID: your-project-id"

Update Member

curl -X PUT "https://api.usegately.com/api/v1/members/{member_id}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Project-ID: your-project-id" \
  -H "Content-Type: application/json" \
  -d '{
    "full_name": "John Doe",
    "plan_id": "premium",
    "metadata": {
      "company": "Acme Inc"
    }
  }'

SDK Usage

Get Current User

const user = gately.getUser()
console.log(user.email, user.full_name)

Update Profile

await gately.updateUserProfile({
  full_name: 'John Doe',
  avatar_url: 'https://example.com/avatar.jpg',
  metadata: {
    company: 'Acme Inc',
    role: 'Developer'
  }
})

Get Full Profile

const profile = await gately.getUserProfile()
console.log(profile)

Custom Fields

Add custom fields to store additional member data:
  1. Go to Settings > Members > Custom Fields
  2. Click Add Field
  3. Configure the field:
    • Name (e.g., company)
    • Type (text, number, date, boolean, select)
    • Required or optional
  4. Save
Custom fields are stored in the metadata object:
const user = gately.getUser()
console.log(user.metadata.company) // "Acme Inc"

Member Plans

Assign members to plans for access control:
// Check member's plan
const user = gately.getUser()
if (user.plan_id === 'premium') {
  // Show premium content
}

Plan Hierarchy

PlanAccess Level
freeBasic features
starterStandard features
proAdvanced features
enterpriseAll features

Webhooks

Receive notifications for member events:
EventDescription
member.createdNew member signed up
member.updatedMember profile updated
member.deletedMember account deleted
member.plan_changedMember changed plans
{
  "event": "member.created",
  "data": {
    "id": "mem_123",
    "email": "[email protected]",
    "plan_id": "free",
    "created_at": "2024-01-15T10:00:00Z"
  }
}

Best Practices

  • Only collect necessary information
  • Provide data export functionality
  • Honor deletion requests promptly
  • Use API keys for server-side access only
  • Validate member data before storing
  • Implement rate limiting for profile updates
  • Use pagination for large member lists
  • Cache frequently accessed member data
  • Index custom fields used in queries