{"openapi":"3.0.0","paths":{"/v1/member/auth/token":{"post":{"description":"Returns a one-hour access token and a 30-day refresh token. Limited to 10 requests per minute per key and per address.","operationId":"MemberApiAuthController_token","parameters":[],"responses":{"200":{"description":""}},"summary":"Exchange a Client ID and Client Secret for tokens","tags":["Member API"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"clientId":{"type":"string","minLength":1,"maxLength":100},"clientSecret":{"type":"string","minLength":1,"maxLength":200}},"required":["clientId","clientSecret"]}}}}}},"/v1/member/auth/refresh":{"post":{"description":"Returns a new access token and a new refresh token. Retrying the same refresh token within 30 seconds returns the same replacement; reusing it later revokes the whole session.","operationId":"MemberApiAuthController_refresh","parameters":[],"responses":{"200":{"description":""}},"summary":"Exchange a refresh token for a new pair","tags":["Member API"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"refreshToken":{"type":"string","minLength":1,"maxLength":200}},"required":["refreshToken"]}}}}}},"/v1/member/me":{"get":{"description":"Needs a valid token and no scope. Also returns the key title and scopes, and what the member can do now: `access.canWrite` is true for Premium members whose key holds a write scope. Use it as the connection test and label.","operationId":"MemberApiReadsController_me","parameters":[],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.me"}}}}},"security":[{"member":[]}],"summary":"Identify the account behind the key","tags":["Member API"]}},"/v1/member/me/feed":{"get":{"description":"Public top-level posts from accounts you follow, newest first.","operationId":"MemberApiReadsController_feed","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.feed"}}}}},"security":[{"member":[]}],"summary":"Read your feed","tags":["Member API"]}},"/v1/member/me/mentions":{"get":{"operationId":"MemberApiReadsController_mentions","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.mentions"}}}}},"security":[{"member":[]}],"summary":"Read mentions of you","tags":["Member API"]}},"/v1/member/me/notifications":{"get":{"description":"Replies, mentions, boosts, new followers and new friends. Reading does not mark anything as read.","operationId":"MemberApiReadsController_notificationList","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.notificationList"}}}}},"security":[{"member":[]}],"summary":"Read your notifications","tags":["Member API"]}},"/v1/member/me/followers":{"get":{"operationId":"MemberApiReadsController_followers","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.followers"}}}}},"security":[{"member":[]}],"summary":"List your followers","tags":["Member API"]}},"/v1/member/me/following":{"get":{"operationId":"MemberApiReadsController_following","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.following"}}}}},"security":[{"member":[]}],"summary":"List who you follow","tags":["Member API"]}},"/v1/member/users/{username}":{"get":{"operationId":"MemberApiReadsController_user","parameters":[{"name":"username","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.user"}}}}},"security":[{"member":[]}],"summary":"Read a public profile by username","tags":["Member API"]}},"/v1/member/users/{username}/posts":{"get":{"operationId":"MemberApiReadsController_userPosts","parameters":[{"name":"username","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.userPosts"}}}}},"security":[{"member":[]}],"summary":"List a member's public posts","tags":["Member API"]}},"/v1/member/users/{username}/articles":{"get":{"operationId":"MemberApiReadsController_userArticles","parameters":[{"name":"username","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.userArticles"}}}}},"security":[{"member":[]}],"summary":"List a member's published articles","tags":["Member API"]}},"/v1/member/posts/{id}":{"get":{"description":"Your own non-public posts are under /me/posts.","operationId":"MemberApiReadsController_post","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.post"}}}}},"security":[{"member":[]}],"summary":"Read a public post","tags":["Member API"]}},"/v1/member/posts/{id}/replies":{"get":{"operationId":"MemberApiReadsController_replies","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.replies"}}}}},"security":[{"member":[]}],"summary":"List replies to a public post","tags":["Member API"]}},"/v1/member/articles/{id}":{"get":{"description":"The body is allowlisted HTML.","operationId":"MemberApiReadsController_article","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.article"}}}}},"security":[{"member":[]}],"summary":"Read a published article","tags":["Member API"]}},"/v1/member/articles/{id}/comments":{"get":{"operationId":"MemberApiReadsController_articleComments","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiReadsController.articleComments"}}}}},"security":[{"member":[]}],"summary":"List comments on a published article","tags":["Member API"]}},"/v1/member/me/posts":{"get":{"description":"Your published public and verified-only posts and replies, newest first. `type=post` returns top-level posts only, `type=reply` replies only, and `since` (ISO 8601) returns only newer items. Poll with `since` or deduplicate by `id`.","operationId":"MemberApiPostsController_list","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}},{"name":"type","in":"query","required":false,"schema":{"type":"string","enum":["post","reply"]}},{"name":"since","in":"query","required":false,"schema":{"type":"string","format":"date-time"}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiPostsController.list"}}}}},"security":[{"member":[]}],"summary":"List your posts","tags":["Member API"]},"post":{"description":"Posts as you, shown as \"via <key title>\". Send `replyToId` to reply. Subject to the same content rules as the apps, plus a daily cap per key.","operationId":"MemberApiPostsController_create","parameters":[{"name":"Idempotency-Key","in":"header","description":"Any unique string of 1 to 200 characters. Retries with the same key return the original response for 24 hours.","required":true,"schema":{"type":"string"}}],"responses":{"201":{"description":""}},"security":[{"member":[]}],"summary":"Create a post or a reply","tags":["Member API"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":1000},"replyToId":{"type":"string","minLength":1,"maxLength":100},"visibility":{"type":"string","enum":["public","verifiedOnly"],"default":"public"}},"required":["body"],"additionalProperties":false}}}}}},"/v1/member/me/posts/{id}":{"get":{"operationId":"MemberApiPostsController_get","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberApiPostsController.get"}}}}},"security":[{"member":[]}],"summary":"Read one of your posts","tags":["Member API"]},"patch":{"description":"Only posts written with this same key, inside the app edit window (30 minutes, 3 edits). Replies cannot be edited.","operationId":"MemberApiPostsController_update","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Any unique string of 1 to 200 characters. Retries with the same key return the original response for 24 hours.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"member":[]}],"summary":"Edit a post","tags":["Member API"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"body":{"type":"string","minLength":1,"maxLength":1000}},"required":["body"],"additionalProperties":false}}}}},"delete":{"description":"Only posts written with this same key.","operationId":"MemberApiPostsController_remove","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"Any unique string of 1 to 200 characters. Retries with the same key return the original response for 24 hours.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"member":[]}],"summary":"Delete a post","tags":["Member API"]}},"/v1/member/webhook":{"get":{"description":"Returns null when none is set. The secret is never returned here.","operationId":"MemberWebhooksController_get","parameters":[],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberWebhooksController.get"}}}}},"security":[{"member":[]}],"summary":"Read the webhook configuration","tags":["Member API"]},"put":{"description":"Replaces the configuration. The first call also returns the signing secret, once. Outstanding deliveries are cancelled.","operationId":"MemberWebhooksController_put","parameters":[],"responses":{"200":{"description":""}},"security":[{"member":[]}],"summary":"Set the webhook","tags":["Member API"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string","format":"url","maxLength":500},"events":{"type":"array","items":{"type":"string","enum":["reply.created","mention.created","boost.created","follow.created","friend.created"]},"minItems":1},"enabled":{"type":"boolean","default":true}},"required":["url","events"],"additionalProperties":false}}}}},"delete":{"operationId":"MemberWebhooksController_remove","parameters":[],"responses":{"200":{"description":""}},"security":[{"member":[]}],"summary":"Remove the webhook and its delivery history","tags":["Member API"]}},"/v1/member/webhook/rotate-secret":{"post":{"description":"Returns the new secret once and cancels outstanding deliveries.","operationId":"MemberWebhooksController_rotate","parameters":[],"responses":{"200":{"description":""}},"security":[{"member":[]}],"summary":"Rotate the signing secret","tags":["Member API"]}},"/v1/member/webhook/deliveries":{"get":{"description":"Status and attempts only, never payloads. Kept seven days after they finish.","operationId":"MemberWebhooksController_deliveries","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":100,"default":20}},{"name":"cursor","in":"query","required":false,"schema":{"type":"string","maxLength":500}}],"responses":{"200":{"description":"Success: the `{ data }` envelope.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MemberWebhooksController.deliveries"}}}}},"security":[{"member":[]}],"summary":"List recent deliveries","tags":["Member API"]}},"/v1/member/webhook/deliveries/{id}/retry":{"post":{"description":"Same event id and body. 409 unless it failed.","operationId":"MemberWebhooksController_retry","parameters":[{"name":"id","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"security":[{"member":[]}],"summary":"Retry a failed delivery","tags":["Member API"]}},"/v1/public/users/{username}/feed.xml":{"get":{"description":"No authentication. Published public posts and articles, newest first, 30 items.","operationId":"MemberFeedController_rss","parameters":[{"name":"username","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"A member's RSS feed","tags":["Public"]}}},"info":{"title":"Men of Hunger Member API","description":"Your own API keys for your own account. Read access is free for verified members; writing and webhooks need Premium.\n\nBase URL: `https://api.menofhunger.com/v1/member`. Success responses are `{ data, pagination? }`; errors are `{ error: { code, message } }`.\n\nCreate a key in Settings, exchange its Client ID and Client Secret at `POST /auth/token`, then send `Authorization: Bearer <accessToken>`.\n\nFull guide: https://menofhunger.com/developers/member","version":"1.0.0","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"member":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}},"schemas":{"MemberWebhooksController.deliveries":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MemberDeliveryDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberDeliveryDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"status":{"type":"string"},"attempts":{"type":"number"},"lastStatus":{"type":"number","nullable":true},"lastError":{"type":"string","nullable":true},"createdAt":{"type":"string"},"nextAttemptAt":{"type":"string","nullable":true}},"required":["id","type","status","attempts","lastStatus","lastError","createdAt","nextAttemptAt"]},"MemberWebhooksController.get":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/MemberWebhookDto"}],"nullable":true}},"required":["data"]},"MemberWebhookDto":{"type":"object","properties":{"id":{"type":"string"},"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"},"createdAt":{"type":"string"},"updatedAt":{"type":"string"}},"required":["id","url","events","enabled","createdAt","updatedAt"]},"MemberApiPostsController.get":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/MemberPostDto"}},"required":["data"]},"MemberPostDto":{"type":"object","properties":{"id":{"type":"string"},"canonicalUrl":{"type":"string"},"body":{"type":"string"},"visibility":{"type":"string"},"replyToId":{"type":"string","nullable":true},"source":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]},"createdAt":{"type":"string"},"editedAt":{"type":"string","nullable":true},"counts":{"type":"object","properties":{"boosts":{"type":"number"},"replies":{"type":"number"}},"required":["boosts","replies"]}},"required":["id","canonicalUrl","body","visibility","replyToId","source","createdAt","editedAt","counts"]},"MemberApiPostsController.list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MemberPostDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiReadsController.articleComments":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string"},"articleId":{"type":"string"},"parentId":{"type":"string","nullable":true},"body":{"type":"string"},"bodyFormat":{"type":"string"},"canonicalUrl":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string"},"editedAt":{"type":"string","nullable":true},"author":{"$ref":"#/components/schemas/PartnerProfileDto"}},"required":["id","articleId","parentId","body","bodyFormat","canonicalUrl","status","createdAt","editedAt","author"]}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"PartnerProfileDto":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string"},"name":{"type":"string","nullable":true},"bio":{"type":"string","nullable":true},"avatarUrl":{"type":"string","nullable":true},"canonicalUrl":{"type":"string"},"accountKind":{"type":"string"},"createdAt":{"type":"string"},"counts":{"type":"object","properties":{"followers":{"type":"number"},"following":{"type":"number"}},"required":["followers","following"]}},"required":["id","username","name","bio","avatarUrl","canonicalUrl","accountKind","createdAt"]},"MemberApiReadsController.article":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PartnerContentDto"}},"required":["data"]},"PartnerContentDto":{"type":"object","properties":{"id":{"type":"string"},"kind":{"type":"string"},"canonicalUrl":{"type":"string"},"status":{"type":"string"},"createdAt":{"type":"string"},"editedAt":{"type":"string","nullable":true},"body":{"type":"string"},"bodyFormat":{"type":"string"},"publishedAt":{"type":"string"},"source":{"$ref":"#/components/schemas/PartnerSourceDto"},"engagement":{"$ref":"#/components/schemas/PartnerEngagementDto"},"title":{"type":"string"},"excerpt":{"type":"string","nullable":true},"author":{"$ref":"#/components/schemas/PartnerProfileDto"},"media":{"type":"array","items":{"$ref":"#/components/schemas/PartnerMediaDto"}}},"required":["id","kind","canonicalUrl","status","createdAt","editedAt","body","bodyFormat","publishedAt","source","author","media"]},"PartnerMediaDto":{"type":"object","properties":{"kind":{"type":"string"},"url":{"type":"string","nullable":true},"alt":{"type":"string","nullable":true},"width":{"type":"number","nullable":true},"height":{"type":"number","nullable":true}},"required":["kind","url","alt","width","height"]},"PartnerEngagementDto":{"type":"object","properties":{"boosts":{"type":"number"},"comments":{"type":"number"},"uniqueViewers":{"type":"number"},"reactions":{"type":"number"}},"required":["boosts","comments","uniqueViewers"]},"PartnerSourceDto":{"type":"object","properties":{"name":{"type":"string"},"url":{"type":"string"}},"required":["name","url"]},"MemberApiReadsController.replies":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PartnerContentDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiReadsController.post":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PartnerContentDto"}},"required":["data"]},"MemberApiReadsController.userArticles":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PartnerContentDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiReadsController.userPosts":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PartnerContentDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiReadsController.user":{"type":"object","properties":{"data":{"type":"object","properties":{"counts":{"type":"object","properties":{"followers":{"type":"number"},"following":{"type":"number"}},"required":["followers","following"]},"id":{"type":"string"},"username":{"type":"string"},"name":{"type":"string","nullable":true},"bio":{"type":"string","nullable":true},"avatarUrl":{"type":"string","nullable":true},"canonicalUrl":{"type":"string"},"accountKind":{"type":"string"},"createdAt":{"type":"string"}},"required":["counts","id","username","name","bio","avatarUrl","canonicalUrl","accountKind","createdAt"]}},"required":["data"]},"MemberApiReadsController.following":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PartnerProfileDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiReadsController.followers":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PartnerProfileDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiReadsController.notificationList":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MemberNotificationDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberNotificationDto":{"type":"object","properties":{"id":{"type":"string"},"type":{"type":"string"},"createdAt":{"type":"string"},"read":{"type":"boolean"},"actor":{"type":"object","properties":{"id":{"type":"string"},"username":{"type":"string","nullable":true},"name":{"type":"string","nullable":true}},"required":["id","username","name"],"nullable":true},"postId":{"type":"string","nullable":true},"canonicalUrl":{"type":"string","nullable":true}},"required":["id","type","createdAt","read","actor","postId","canonicalUrl"]},"MemberApiReadsController.mentions":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MemberNotificationDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiReadsController.feed":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PartnerContentDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiReadsController.me":{"type":"object","properties":{"data":{"type":"object","properties":{"key":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}}},"required":["id","title","scopes"]},"access":{"type":"object","properties":{"verified":{"type":"boolean"},"premium":{"type":"boolean"},"canWrite":{"type":"boolean"}},"required":["verified","premium","canWrite"]},"counts":{"type":"object","properties":{"followers":{"type":"number"},"following":{"type":"number"}},"required":["followers","following"]},"id":{"type":"string"},"username":{"type":"string"},"name":{"type":"string","nullable":true},"bio":{"type":"string","nullable":true},"avatarUrl":{"type":"string","nullable":true},"canonicalUrl":{"type":"string"},"accountKind":{"type":"string"},"createdAt":{"type":"string"}},"required":["key","access","counts","id","username","name","bio","avatarUrl","canonicalUrl","accountKind","createdAt"]}},"required":["data"]},"MemberApiKeysController.deliveries":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MemberDeliveryDto"}},"pagination":{"type":"object","properties":{"nextCursor":{"type":"string","nullable":true}},"required":["nextCursor"]}},"required":["data","pagination"]},"MemberApiKeysController.webhook":{"type":"object","properties":{"data":{"allOf":[{"$ref":"#/components/schemas/MemberWebhookDto"}],"nullable":true}},"required":["data"]},"MemberApiKeysController.list":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/MemberApiKeyDto"}}},"required":["data"]},"MemberApiKeyDto":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"description":{"type":"string","nullable":true},"clientId":{"type":"string"},"secretHint":{"type":"string"},"scopes":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"suspendedReason":{"type":"string","nullable":true},"dailyPostLimit":{"type":"number"},"lastUsedAt":{"type":"string","nullable":true},"createdAt":{"type":"string"},"webhook":{"type":"object","properties":{"url":{"type":"string"},"events":{"type":"array","items":{"type":"string"}},"enabled":{"type":"boolean"}},"required":["url","events","enabled"],"nullable":true}},"required":["id","title","description","clientId","secretHint","scopes","status","suspendedReason","dailyPostLimit","lastUsedAt","createdAt","webhook"]},"MemberApiKeysController.access":{"type":"object","properties":{"data":{"type":"object","properties":{"verified":{"type":"boolean"},"premium":{"type":"boolean"},"maxKeys":{"type":"number","enum":[5]},"readScopes":{"type":"array","items":{"anyOf":[{"type":"string","enum":["profile:read"]},{"type":"string","enum":["posts:read"]},{"type":"string","enum":["feed:read"]},{"type":"string","enum":["mentions:read"]},{"type":"string","enum":["notifications:read"]},{"type":"string","enum":["followers:read"]},{"type":"string","enum":["following:read"]}]},"minItems":7,"maxItems":7},"writeScopes":{"type":"array","items":{"anyOf":[{"type":"string","enum":["posts:write"]},{"type":"string","enum":["posts:delete"]},{"type":"string","enum":["webhooks:manage"]}]},"minItems":3,"maxItems":3}},"required":["verified","premium","maxKeys","readScopes","writeScopes"]}},"required":["data"]}}}}