Skip to content

SECTION 2 — CREATOR SOCIAL

9. POST /creators/:id/follow

Follow a creator. Requires authentication.

Request

http
POST /creators/creator_001/follow
Authorization: Bearer <token>

Response 200 OK

json
{
  "status": "success",
  "message": "You are now following Chris Spencer",
  "data": {
    "creator_id": "creator_001",
    "is_following": true,
    "followers_count": 124001,
    "followers_count_formatted": "124K"
  }
}

Errors

json
{
  "status": "error",
  "code": 409,
  "message": "You are already following this creator"
}

10. DELETE /creators/:id/follow

Unfollow a creator. Requires authentication.

Request

http
DELETE /creators/creator_001/follow
Authorization: Bearer <token>

Response 200 OK

json
{
  "status": "success",
  "message": "You have unfollowed Chris Spencer",
  "data": {
    "creator_id": "creator_001",
    "is_following": false,
    "followers_count": 124000,
    "followers_count_formatted": "124K"
  }
}

11. POST /creators/:id/tip

Send a monetary tip to a creator. Requires authentication.

Request

http
POST /creators/creator_001/tip
Authorization: Bearer <token>
Content-Type: application/json

Request Body

json
{
  "amount": 5.00,
  "currency": "USD",
  "message": "Great show, keep it up!",
  "payment_method_id": "pm_abc123"
}

Request Body Parameters

FieldTypeRequiredDescription
amountfloatYesTip amount
currencystringYesCurrency code e.g. USD
messagestringNoOptional message to creator
payment_method_idstringYesPayment method on file

Response 200 OK

json
{
  "status": "success",
  "message": "Tip sent successfully to Chris Spencer",
  "data": {
    "tip_id": "tip_xyz789",
    "creator_id": "creator_001",
    "amount": 5.00,
    "currency": "USD",
    "message": "Great show, keep it up!",
    "sent_at": "2024-11-01T12:00:00Z"
  }
}

Errors

json
{
  "status": "error",
  "code": 400,
  "message": "Tip amount must be at least $1.00"
}
json
{
  "status": "error",
  "code": 402,
  "message": "Payment failed. Please check your payment method."
}