{"openapi":"3.1.0","info":{"title":"MeuMore Creator API","version":"1.0.0","description":"Run your MeuMore creator business from your own tools: content and scheduling, messages (including mass and locked messages), fans, earnings, payouts, analytics and webhooks. Human-readable docs: https://meumore.com/developers"},"servers":[{"url":"https://meumore.com/api/v1"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"content","description":"Content: upload, schedule, edit and delete posts"},{"name":"messages","description":"Messages: read and send chat messages, mass messages"},{"name":"fans","description":"Fans: subscribers and fan details"},{"name":"earnings","description":"Earnings: earnings, transactions and payouts"},{"name":"webhooks","description":"Webhooks: manage webhook endpoints"}],"paths":{"/me":{"get":{"operationId":"getMe","summary":"Your profile, creator status, subscription price and counts","x-scope":"any","x-curl":"curl -s https://meumore.com/api/v1/me -H \"Authorization: Bearer $MEUMORE_KEY\"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Me"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["account"]}},"/stats":{"get":{"operationId":"getStats","summary":"Subscribers now, new and churned, revenue per day by source, top posts by unlocks","x-scope":"any","x-curl":"curl -s https://meumore.com/api/v1/stats?from=2026-09-01T00:00:00Z -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"date-time"},"description":"Start (inclusive). Default: 30 days before `to`."},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"},"description":"End (exclusive). Default: now."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Stats"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["account"]}},"/media/uploads":{"post":{"operationId":"createUpload","summary":"Get a presigned upload URL","description":"PUT the file bytes to upload.url with upload.headers, then finalise with POST /media. Images up to 10 MB, videos up to 100 MB.","x-scope":"content","x-curl":"curl -s https://meumore.com/api/v1/media/uploads -H \"Authorization: Bearer $MEUMORE_KEY\" -H 'Content-Type: application/json' -d '{\"content_type\":\"image/jpeg\",\"size\":123456}'\ncurl -X PUT -H 'Content-Type: image/jpeg' --data-binary @photo.jpg \"$UPLOAD_URL\"","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"content_type":{"type":"string","description":"e.g. image/jpeg, video/mp4"},"size":{"type":"integer","description":"Bytes"},"filename":{"type":"string"}},"required":["content_type","size"]}}}},"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"upload_id":{"type":"string","format":"uuid"},"kind":{"type":"string","enum":["image","video"]},"upload":{"type":"object","properties":{"method":{"type":"string"},"url":{"type":"string"},"headers":{"type":"object"}}}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["content"]}},"/media":{"get":{"operationId":"listMedia","summary":"List your media, newest first","x-scope":"content","x-curl":"curl -s https://meumore.com/api/v1/media?limit=10 -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"context","in":"query","schema":{"type":"string","enum":["gallery","chat"],"default":"gallery"}},{"name":"status","in":"query","schema":{"type":"string","enum":["approved","pending","rejected","hidden"]}},{"name":"scheduled","in":"query","schema":{"type":"string","enum":["true","false"]}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Cursor from next_cursor of the previous page."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Media"}},"next_cursor":{"anyOf":[{"type":"string","description":"Pass as ?cursor= for the next page."},{"type":"null"}]}},"required":["data","next_cursor"]}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["content"]},"post":{"operationId":"finaliseMedia","summary":"Finalise an upload: caption, visibility, price, scheduling","description":"Processing and moderation run now. Explicit content is rejected (422). A future publish_at schedules the post: it stays hidden everywhere until then. context \"chat\" makes a vault item for messages that never shows in your gallery.","x-scope":"content","x-curl":"curl -s https://meumore.com/api/v1/media -H \"Authorization: Bearer $MEUMORE_KEY\" -H 'Content-Type: application/json' -d '{\"upload_id\":\"$UPLOAD_ID\",\"content_type\":\"image/jpeg\",\"caption\":\"New set\",\"visibility\":\"subscribers\",\"publish_at\":\"2026-10-01T18:00:00Z\"}'","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"upload_id":{"type":"string","format":"uuid"},"content_type":{"type":"string"},"caption":{"type":"string","maxLength":300},"visibility":{"type":"string","enum":["free","subscribers","paid"],"default":"free"},"tier_id":{"type":"integer","description":"Price tier, required for paid"},"free_for_subscribers":{"type":"boolean","description":"Paid items: free for subscribers"},"publish_at":{"anyOf":[{"type":"string","description":"Schedule for later","format":"date-time"},{"type":"null"}]},"context":{"type":"string","enum":["gallery","chat"],"default":"gallery"}},"required":["upload_id","content_type"]}}}},"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Media"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["content"]}},"/media/{id}":{"get":{"operationId":"getMedia","summary":"One media item, with a short-lived URL to the original","x-scope":"content","x-curl":"curl -s https://meumore.com/api/v1/media/$MEDIA_ID -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Media id","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Media"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["content"]},"patch":{"operationId":"updateMedia","summary":"Edit caption, visibility, price or schedule","description":"publish_at can only change before the post is published; null publishes now.","x-scope":"content","x-curl":"curl -s -X PATCH https://meumore.com/api/v1/media/$MEDIA_ID -H \"Authorization: Bearer $MEUMORE_KEY\" -H 'Content-Type: application/json' -d '{\"caption\":\"Updated\"}'","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Media id","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"caption":{"type":"string"},"visibility":{"type":"string","enum":["free","subscribers","paid"]},"tier_id":{"anyOf":[{"type":"integer"},{"type":"null"}]},"free_for_subscribers":{"type":"boolean"},"publish_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Media"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["content"]},"delete":{"operationId":"deleteMedia","summary":"Delete a media item (buyers lose access)","x-scope":"content","x-curl":"curl -s -X DELETE https://meumore.com/api/v1/media/$MEDIA_ID -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Media id","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"deleted":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["content"]}},"/conversations":{"get":{"operationId":"listConversations","summary":"Your conversations, most recent first","x-scope":"messages","x-curl":"curl -s https://meumore.com/api/v1/conversations -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Cursor from next_cursor of the previous page."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Conversation"}},"next_cursor":{"anyOf":[{"type":"string","description":"Pass as ?cursor= for the next page."},{"type":"null"}]}},"required":["data","next_cursor"]}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["messages"]}},"/conversations/{id}/messages":{"get":{"operationId":"listMessages","summary":"Messages in a conversation, newest first","x-scope":"messages","x-curl":"curl -s https://meumore.com/api/v1/conversations/$CONVERSATION_ID/messages -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Conversation id","format":"uuid"}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Cursor from next_cursor of the previous page."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Message"}},"next_cursor":{"anyOf":[{"type":"string","description":"Pass as ?cursor= for the next page."},{"type":"null"}]}},"required":["data","next_cursor"]}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["messages"]},"post":{"operationId":"sendMessage","summary":"Send a text, media or locked message","description":"Text only, a media_id (one of your media; upload chat-only media with context \"chat\"), or a locked message: media_id plus tier_id. The fan sees a blurred preview and pays their local price to unlock. You can message fans who subscribe to you, and your matches. 30 messages per minute; text up to 2000 characters.","x-scope":"messages","x-curl":"curl -s https://meumore.com/api/v1/conversations/$CONVERSATION_ID/messages -H \"Authorization: Bearer $MEUMORE_KEY\" -H 'Content-Type: application/json' -d '{\"text\":\"Thanks for subscribing!\"}'","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Conversation id","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"text":{"type":"string","maxLength":2000},"media_id":{"type":"string","format":"uuid"},"tier_id":{"type":"integer","description":"Locks the media behind this price tier"}}}}}},"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Message"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["messages"]}},"/mass-messages":{"post":{"operationId":"sendMassMessage","summary":"Send one message to a segment of fans","description":"Delivered as individual messages (a locked message unlocks per fan), only to fans you may chat with. 10 per hour.","x-scope":"messages","x-curl":"curl -s https://meumore.com/api/v1/mass-messages -H \"Authorization: Bearer $MEUMORE_KEY\" -H 'Content-Type: application/json' -d '{\"segment\":{\"type\":\"all_subscribers\"},\"text\":\"New post is up!\"}'","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"segment":{"$ref":"#/components/schemas/Segment"},"text":{"type":"string"},"media_id":{"type":"string","format":"uuid"},"tier_id":{"type":"integer"}},"required":["segment"]}}}},"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MassMessage"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["messages"]}},"/mass-messages/{id}":{"get":{"operationId":"getMassMessage","summary":"Status and counts of a mass message","x-scope":"messages","x-curl":"curl -s https://meumore.com/api/v1/mass-messages/$MASS_ID -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Mass message id","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MassMessage"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["messages"]}},"/subscribers":{"get":{"operationId":"listSubscribers","summary":"Your subscribers with lifetime spend","x-scope":"fans","x-curl":"curl -s https://meumore.com/api/v1/subscribers?status=active -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"status","in":"query","schema":{"type":"string","enum":["active","expired","all"],"default":"active"}},{"name":"since","in":"query","schema":{"type":"string","format":"date-time"},"description":"Subscribed on or after"},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Cursor from next_cursor of the previous page."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Subscriber"}},"next_cursor":{"anyOf":[{"type":"string","description":"Pass as ?cursor= for the next page."},{"type":"null"}]}},"required":["data","next_cursor"]}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["fans"]}},"/fans/{id}":{"get":{"operationId":"getFan","summary":"A fan: subscription status, spend, last message","x-scope":"fans","x-curl":"curl -s https://meumore.com/api/v1/fans/$FAN_ID -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Fan (user) id","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Fan"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["fans"]}},"/earnings":{"get":{"operationId":"getEarnings","summary":"Earnings by source and currency, and balances","x-scope":"earnings","x-curl":"curl -s https://meumore.com/api/v1/earnings?from=2026-09-01T00:00:00Z -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"date-time"},"description":"Start (inclusive). Default: 30 days before `to`."},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"},"description":"End (exclusive). Default: now."}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Earnings"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["earnings"]}},"/transactions":{"get":{"operationId":"listTransactions","summary":"Ledger rows, one per payment (20% platform fee, 80% yours)","x-scope":"earnings","x-curl":"curl -s https://meumore.com/api/v1/transactions?source=tip -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"from","in":"query","schema":{"type":"string","format":"date-time"},"description":"Start (inclusive). Default: 30 days before `to`."},{"name":"to","in":"query","schema":{"type":"string","format":"date-time"},"description":"End (exclusive). Default: now."},{"name":"source","in":"query","schema":{"type":"string","enum":["media","subscription","message","tip"]}},{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Cursor from next_cursor of the previous page."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Transaction"}},"next_cursor":{"anyOf":[{"type":"string","description":"Pass as ?cursor= for the next page."},{"type":"null"}]}},"required":["data","next_cursor"]}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["earnings"]}},"/payouts":{"get":{"operationId":"listPayouts","summary":"Your payout requests","x-scope":"earnings","x-curl":"curl -s https://meumore.com/api/v1/payouts -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"cursor","in":"query","schema":{"type":"string"},"description":"Cursor from next_cursor of the previous page."},{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Payout"}},"next_cursor":{"anyOf":[{"type":"string","description":"Pass as ?cursor= for the next page."},{"type":"null"}]}},"required":["data","next_cursor"]}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["earnings"]},"post":{"operationId":"requestPayout","summary":"Request a payout of the full available balance in a currency","x-scope":"earnings","x-curl":"curl -s https://meumore.com/api/v1/payouts -H \"Authorization: Bearer $MEUMORE_KEY\" -H 'Content-Type: application/json' -d '{\"currency\":\"INR\"}'","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"currency":{"type":"string","description":"ISO 4217, e.g. INR"}},"required":["currency"]}}}},"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Payout"}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["earnings"]}},"/webhooks":{"get":{"operationId":"listWebhooks","summary":"Your webhook endpoints","x-scope":"webhooks","x-curl":"curl -s https://meumore.com/api/v1/webhooks -H \"Authorization: Bearer $MEUMORE_KEY\"","responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WebhookEndpoint"}},"next_cursor":{"anyOf":[{"type":"string","description":"Pass as ?cursor= for the next page."},{"type":"null"}]}},"required":["data","next_cursor"]}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["webhooks"]},"post":{"operationId":"createWebhook","summary":"Add a webhook endpoint (returns its signing secret once)","x-scope":"webhooks","x-curl":"curl -s https://meumore.com/api/v1/webhooks -H \"Authorization: Bearer $MEUMORE_KEY\" -H 'Content-Type: application/json' -d '{\"url\":\"https://example.com/meumore\",\"events\":[\"subscriber.new\",\"tip.received\"]}'","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","description":"Public https URL"},"events":{"type":"array","items":{"type":"string","enum":["subscriber.new","subscriber.renewed","subscriber.cancelled","subscriber.expired","purchase.created","tip.received","message.received","message.unlocked","media.approved","media.rejected","media.published","payout.updated"]}}},"required":["url","events"]}}}},"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/WebhookEndpoint"},{"type":"object","properties":{"secret":{"type":"string","description":"whsec_… Shown only now."}}}]}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["webhooks"]}},"/webhooks/{id}":{"delete":{"operationId":"deleteWebhook","summary":"Delete a webhook endpoint","x-scope":"webhooks","x-curl":"curl -s -X DELETE https://meumore.com/api/v1/webhooks/$WEBHOOK_ID -H \"Authorization: Bearer $MEUMORE_KEY\"","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string","description":"Webhook endpoint id","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"deleted":{"type":"boolean"}}}}}},"400":{"$ref":"#/components/responses/Error"},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}},"tags":["webhooks"]}}},"webhooks":{"subscriber.new":{"post":{"summary":"subscriber.new","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"subscriber.new"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"subscriber.new","created_at":"2026-09-30T12:00:00.000Z","data":{"subscription_id":"uuid","fan_id":"uuid","mode":"auto","current_period_end":"2026-10-30T12:00:00.000Z","amount_minor":14900,"currency":"INR"}}}}},"responses":{"200":{"description":"Received"}}}},"subscriber.renewed":{"post":{"summary":"subscriber.renewed","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"subscriber.renewed"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"subscriber.renewed","created_at":"2026-09-30T12:00:00.000Z","data":{"subscription_id":"uuid","fan_id":"uuid","mode":"auto","current_period_end":"2026-11-30T12:00:00.000Z","amount_minor":14900,"currency":"INR"}}}}},"responses":{"200":{"description":"Received"}}}},"subscriber.cancelled":{"post":{"summary":"subscriber.cancelled","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"subscriber.cancelled"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"subscriber.cancelled","created_at":"2026-09-30T12:00:00.000Z","data":{"subscription_id":"uuid","fan_id":"uuid","reason":"cancelled_by_fan","access_until":"2026-10-30T12:00:00.000Z"}}}}},"responses":{"200":{"description":"Received"}}}},"subscriber.expired":{"post":{"summary":"subscriber.expired","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"subscriber.expired"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"subscriber.expired","created_at":"2026-09-30T12:00:00.000Z","data":{"subscription_id":"uuid","fan_id":"uuid","ended_at":"2026-10-30T12:00:00.000Z"}}}}},"responses":{"200":{"description":"Received"}}}},"purchase.created":{"post":{"summary":"purchase.created","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"purchase.created"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"purchase.created","created_at":"2026-09-30T12:00:00.000Z","data":{"order_id":"uuid","media_id":"uuid","fan_id":"uuid","amount_minor":4900,"currency":"INR"}}}}},"responses":{"200":{"description":"Received"}}}},"tip.received":{"post":{"summary":"tip.received","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"tip.received"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"tip.received","created_at":"2026-09-30T12:00:00.000Z","data":{"order_id":"uuid","message_id":"uuid","fan_id":"uuid","amount_minor":10000,"currency":"INR"}}}}},"responses":{"200":{"description":"Received"}}}},"message.received":{"post":{"summary":"message.received","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"message.received"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"message.received","created_at":"2026-09-30T12:00:00.000Z","data":{"message_id":"uuid","conversation_id":"uuid","fan_id":"uuid","kind":"text","created_at":"2026-09-30T12:00:00.000Z"}}}}},"responses":{"200":{"description":"Received"}}}},"message.unlocked":{"post":{"summary":"message.unlocked","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"message.unlocked"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"message.unlocked","created_at":"2026-09-30T12:00:00.000Z","data":{"order_id":"uuid","message_id":"uuid","fan_id":"uuid","amount_minor":14900,"currency":"INR"}}}}},"responses":{"200":{"description":"Received"}}}},"media.approved":{"post":{"summary":"media.approved","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"media.approved"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"media.approved","created_at":"2026-09-30T12:00:00.000Z","data":{"media_id":"uuid","kind":"image","context":"gallery","visibility":"subscribers","published":true}}}}},"responses":{"200":{"description":"Received"}}}},"media.rejected":{"post":{"summary":"media.rejected","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"media.rejected"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"media.rejected","created_at":"2026-09-30T12:00:00.000Z","data":{"media_id":"uuid","kind":"image","context":"gallery","visibility":"free","published":true}}}}},"responses":{"200":{"description":"Received"}}}},"media.published":{"post":{"summary":"media.published","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"media.published"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"media.published","created_at":"2026-09-30T12:00:00.000Z","data":{"media_id":"uuid","kind":"image","visibility":"subscribers","status":"approved","publish_at":"2026-10-01T18:00:00.000Z"}}}}},"responses":{"200":{"description":"Received"}}}},"payout.updated":{"post":{"summary":"payout.updated","description":"POSTed to your endpoint as JSON. Verify X-MeuMore-Signature (t=<unix>,v1=<hex HMAC-SHA256(secret, t + \".\" + raw body)>). Respond 2xx within 10 seconds; failures retry with exponential backoff up to 8 attempts.","parameters":[{"name":"X-MeuMore-Signature","in":"header","required":true,"schema":{"type":"string"}},{"name":"X-MeuMore-Event","in":"header","required":true,"schema":{"type":"string","const":"payout.updated"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Event"},"example":{"id":"evt_0123456789abcdef01234567","type":"payout.updated","created_at":"2026-09-30T12:00:00.000Z","data":{"payout_id":"uuid","status":"paid","amount_minor":250000,"currency":"INR","note":"UTR 1234","settled_at":"2026-10-02T10:00:00.000Z"}}}}},"responses":{"200":{"description":"Received"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"mm_live_<id>_<secret> from Settings → API"}},"responses":{"Error":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable, e.g. insufficient_scope"},"message":{"type":"string"}},"required":["code","message"]}},"required":["error"]},"Me":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"first_name":{"type":"string"},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"profile_url":{"type":"string"},"photos":{"type":"array","description":"Profile photos (1 to 5) in order; position 0 is the main photo. Rejected photos are only visible to you.","items":{"type":"object","properties":{"id":{"type":"string"},"position":{"type":"integer","description":"0 to 4"},"status":{"type":"string","description":"pending | approved | rejected"},"ai_enhanced":{"type":"boolean","description":"Added by a partner app as AI-enhanced"},"url":{"type":"string","description":"Signed URL, valid for 1 hour"}}}},"creator":{"type":"object","properties":{"is_creator":{"type":"boolean"},"since":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}}},"subscription_price":{"anyOf":[{"type":"object","properties":{"tier_id":{"type":"integer"},"code":{"type":"string"},"label":{"type":"string"},"base_usd_cents":{"type":"integer"},"local":{"anyOf":[{"allOf":[{"type":"object","properties":{"amount_minor":{"type":"integer","description":"Amount in minor units (paise, cents)."},"currency":{"type":"string","description":"ISO 4217"}},"required":["amount_minor","currency"]},{"type":"object","properties":{"display":{"type":"string"}}}]},{"type":"null"}]}}},{"type":"null"}]},"counts":{"type":"object","properties":{"active_subscribers":{"type":"integer"},"published_media":{"type":"integer"},"scheduled_media":{"type":"integer"},"conversations":{"type":"integer"},"unread_messages":{"type":"integer"}}},"api_key":{"type":"object","properties":{"id":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}}}}}},"Stats":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"subscribers":{"type":"object","properties":{"now":{"type":"integer"},"new":{"type":"integer"},"churned":{"type":"integer"}}},"revenue_per_day":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string","description":"YYYY-MM-DD (UTC)"},"source":{"type":"string"},"currency":{"type":"string"},"payments":{"type":"integer"},"gross_minor":{"type":"integer"},"net_minor":{"type":"integer"}}}},"top_posts":{"type":"array","items":{"type":"object","properties":{"media_id":{"type":"string"},"kind":{"type":"string"},"caption":{"type":"string"},"unlocks":{"type":"integer"}}}}}},"Media":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string","enum":["image","video"]},"mime":{"type":"string"},"size_bytes":{"type":"integer"},"status":{"type":"string","description":"approved | pending (human review) | rejected | hidden"},"context":{"type":"string","enum":["gallery","chat"]},"visibility":{"type":"string","enum":["free","subscribers","paid"]},"tier_id":{"anyOf":[{"type":"integer"},{"type":"null"}]},"free_for_subscribers":{"type":"boolean"},"caption":{"type":"string"},"publish_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"published":{"type":"boolean"},"published_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time"},"sales":{"type":"integer"},"ai_enhanced":{"type":"boolean","description":"Shown with an AI-enhanced label"},"thumb_url":{"type":"string","description":"Signed, expires in 5 minutes"},"url":{"type":"string","description":"GET /media/{id} only: signed URL of the original"}}},"Conversation":{"type":"object","properties":{"id":{"type":"string"},"fan":{"type":"object","properties":{"id":{"type":"string"},"first_name":{"type":"string"},"photo_url":{"anyOf":[{"type":"string"},{"type":"null"}]},"is_creator":{"type":"boolean"}}},"unread_count":{"type":"integer"},"last_message":{"anyOf":[{"type":"object","properties":{"preview":{"type":"string"},"direction":{"type":"string","enum":["inbound","outbound"]},"created_at":{"type":"string","format":"date-time"}}},{"type":"null"}]},"last_activity_at":{"type":"string","format":"date-time"}}},"Message":{"type":"object","properties":{"id":{"type":"string"},"conversation_id":{"type":"string"},"sender_id":{"type":"string"},"direction":{"type":"string","enum":["inbound","outbound"]},"kind":{"type":"string","enum":["text","media","locked","tip","system"]},"status":{"type":"string","description":"pending_moderation (held until the media is approved) | sent | hidden"},"text":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"media":{"anyOf":[{"type":"object","properties":{"kind":{"type":"string"},"thumb_url":{"type":"string"},"blurred":{"type":"boolean"}}},{"type":"null"}]},"locked":{"anyOf":[{"allOf":[{"type":"object","properties":{"amount_minor":{"type":"integer","description":"Amount in minor units (paise, cents)."},"currency":{"type":"string","description":"ISO 4217"}},"required":["amount_minor","currency"]},{"type":"object","properties":{"unlocked":{"type":"boolean"}}}]},{"type":"null"}]},"tip":{"anyOf":[{"type":"object","properties":{"amount_minor":{"type":"integer","description":"Amount in minor units (paise, cents)."},"currency":{"type":"string","description":"ISO 4217"}},"required":["amount_minor","currency"]},{"type":"null"}]},"mass_message_id":{"anyOf":[{"type":"string"},{"type":"null"}]}}},"Segment":{"oneOf":[{"type":"object","properties":{"type":{"const":"all_subscribers"}},"required":["type"]},{"type":"object","properties":{"type":{"const":"active_since"},"since":{"type":"string","description":"Subscribed on or after","format":"date-time"}},"required":["type","since"]},{"type":"object","properties":{"type":{"const":"top_spenders"},"limit":{"type":"integer","description":"Top N by lifetime spend","default":100,"maximum":10000}},"required":["type"]},{"type":"object","properties":{"type":{"const":"expired_subscribers"}},"required":["type"]}],"description":"One of: all_subscribers, active_since, top_spenders, expired_subscribers"},"MassMessage":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","enum":["sending","done","failed"]},"segment":{"$ref":"#/components/schemas/Segment"},"kind":{"type":"string"},"text":{"type":"string"},"media_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"tier_id":{"anyOf":[{"type":"integer"},{"type":"null"}]},"recipients_count":{"type":"integer","description":"Fans in the segment"},"sent_count":{"type":"integer"},"skipped_count":{"type":"integer","description":"Fans who blocked you or you may no longer message"},"created_at":{"type":"string","format":"date-time"},"finished_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}}},"Subscription":{"type":"object","properties":{"id":{"type":"string"},"status":{"type":"string","description":"active | active_not_renewing | expired | cancelled | halted | completed"},"raw_status":{"type":"string"},"mode":{"type":"string","enum":["auto","pass"]},"active":{"type":"boolean"},"renews":{"type":"boolean"},"started_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"current_period_end":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"cancelled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"price":{"type":"object","properties":{"amount_minor":{"type":"integer","description":"Amount in minor units (paise, cents)."},"currency":{"type":"string","description":"ISO 4217"}},"required":["amount_minor","currency"]}}},"Spend":{"type":"object","properties":{"currency":{"type":"string"},"gross_minor":{"type":"integer"},"net_minor":{"type":"integer"}}},"Subscriber":{"type":"object","properties":{"fan":{"type":"object","properties":{"id":{"type":"string"},"first_name":{"type":"string"}}},"subscription":{"$ref":"#/components/schemas/Subscription"},"lifetime_spend":{"type":"array","items":{"$ref":"#/components/schemas/Spend"}}}},"Fan":{"type":"object","properties":{"id":{"type":"string"},"first_name":{"type":"string"},"country":{"anyOf":[{"type":"string"},{"type":"null"}]},"subscription":{"anyOf":[{"$ref":"#/components/schemas/Subscription"},{"type":"null"}]},"lifetime_spend":{"type":"array","items":{"$ref":"#/components/schemas/Spend"}},"conversation_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"last_message":{"anyOf":[{"type":"object","properties":{"id":{"type":"string"},"direction":{"type":"string"},"kind":{"type":"string"},"text":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"read_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}}},{"type":"null"}]}}},"Earnings":{"type":"object","properties":{"from":{"type":"string","format":"date-time"},"to":{"type":"string","format":"date-time"},"by_source":{"type":"array","items":{"type":"object","properties":{"source":{"type":"string"},"currency":{"type":"string"},"payments":{"type":"integer"},"gross_minor":{"type":"integer"},"fee_minor":{"type":"integer"},"net_minor":{"type":"integer"}}}},"balances":{"type":"array","items":{"type":"object","properties":{"currency":{"type":"string"},"gross_minor":{"type":"integer"},"fee_minor":{"type":"integer"},"net_minor":{"type":"integer"},"requested_minor":{"type":"integer"},"paid_out_minor":{"type":"integer"},"available_minor":{"type":"integer"}}}}}},"Transaction":{"type":"object","properties":{"id":{"type":"string"},"source":{"type":"string","enum":["media","subscription","message","tip"]},"currency":{"type":"string"},"gross_minor":{"type":"integer"},"fee_minor":{"type":"integer"},"net_minor":{"type":"integer"},"fan_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"media_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"order_id":{"anyOf":[{"type":"string"},{"type":"null"}]},"created_at":{"type":"string","format":"date-time"}}},"Payout":{"type":"object","properties":{"id":{"type":"string"},"currency":{"type":"string"},"amount_minor":{"type":"integer"},"status":{"type":"string","enum":["requested","paid","rejected"]},"note":{"type":"string"},"created_at":{"type":"string","format":"date-time"},"settled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]}}},"WebhookEndpoint":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"},"disabled_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}]},"consecutive_failures":{"type":"integer"},"created_at":{"type":"string","format":"date-time"}}},"Event":{"type":"object","properties":{"id":{"type":"string","description":"evt_…, the same for every endpoint receiving it"},"type":{"type":"string","enum":["subscriber.new","subscriber.renewed","subscriber.cancelled","subscriber.expired","purchase.created","tip.received","message.received","message.unlocked","media.approved","media.rejected","media.published","payout.updated"]},"created_at":{"type":"string","format":"date-time"},"data":{"type":"object"}},"required":["id","type","created_at","data"]}}}}