API Reference / Endpoints
Update Subscriber
The Update Subscriber endpoint allows you to modify information for an existing subscriber. You can update their name, phone number, points, and custom metadata fields.
Endpoint Details
- URL: 
https://waitlister.me/api/v1/waitlist/{waitlist-key}/subscribers/{id-or-email} - Method: 
PUT - Required Plan: Pro or Scale
 
Request
Headers
Content-Type: application/json
X-Api-Key: your-api-key
Path Parameters
| Parameter | Description | 
|---|---|
waitlist-key | Your unique waitlist key, found in your waitlist settings | 
id-or-email | Either the subscriber's unique ID or their email address | 
Request Body
{
  "name": "Updated Name",
  "phone": "+1987654321",
  "points": 200,
  "metadata": {
    "company": "New Company",
    "status": "qualified"
  }
}
Optional Fields
| Field | Type | Description | 
|---|---|---|
name | String | The subscriber's updated name | 
phone | String | The subscriber's updated phone number | 
points | Number | The subscriber's updated points value | 
metadata | Object | Additional fields to add or update in the subscriber's metadata | 
Note: You only need to include the fields you want to update. Omitted fields will remain unchanged.
Response
Success Response 200
{
  "success": true,
  "message": "Successfully updated subscriber",
  "data": {
    "subscriber": {
      "id": "xyzABC123",
      "email": "[email protected]",
      "name": "Updated Name",
      "phone": "+1987654321",
      "points": 200,
      "updated_at": 1682345678901,
      "metadata": {
        "company": "New Company",
        "status": "qualified",
        "existing_field": "existing value"
      }
    }
  }
}
Response Fields
| Field | Type | Description | 
|---|---|---|
success | Boolean | Always true for successful responses | 
message | String | A human-readable success message | 
data.subscriber | Object | The updated subscriber information | 
data.subscriber.updated_at | Number | Timestamp of when the subscriber was updated | 
Error Responses
Not Found 404
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Subscriber not found"
}
Bad Request 400
{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "At least one field to update must be provided"
}
Examples
Update Subscriber Name and Points
curl -X PUT "https://waitlister.me/api/v1/waitlist/your-waitlist-key/subscribers/xyzABC123" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: your-api-key" \
  -d '{
    "name": "Updated Name",
    "points": 200
  }'
Update Subscriber Metadata
curl -X PUT "https://waitlister.me/api/v1/waitlist/your-waitlist-key/subscribers/user%40example.com" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: your-api-key" \
  -d '{
    "metadata": {
      "status": "qualified",
      "last_contact": "2023-05-15",
      "notes": "Ready for beta access"
    }
  }'
Implementation Notes
Metadata Merging
When updating metadata, the new fields are merged with existing fields.
- Fields included in the update request will be added or updated
 - Existing fields not mentioned in the request will be preserved
 - To remove a field, you would need to set its value to 
null 
Points Management
The points field can be used to reward subscribers or adjust their position.
- You can reward subscribers for custom actions by increasing points
 
Subscriber Identification
You can update a subscriber using either:
- Their unique ID (more efficient)
 - Their email address (more convenient for integration)
 
Email lookups are case-insensitive. The email address is normalized to lowercase before lookup.
Rate Limits
| Plan | Rate Limit | 
|---|---|
| Pro | 60 requests per minute | 
| Scale | 120 requests per minute | 
See API Rate Limits for more information.
