{"openapi":"3.1.0","info":{"title":"FanConvert API (Beta)","summary":"Lire vos créatrices, conversations, fans, ventes et statistiques.","description":"# Démarrage rapide\n\n> **Beta.** L'API publique FanConvert est en Beta : les routes et les champs peuvent encore\n> bouger. Chaque changement est inscrit au [journal des changements](#journal-des-changements).\n\nL'API publique lit vos créatrices, conversations, fans, ventes, statistiques, scripts,\nmédias et urgences, avec le même cloisonnement que le dashboard. Elle ne peut **jamais\nenvoyer un message à un fan**.\n\nAdresse de base : `https://app.fanconvert.ai/public/v1`\n\n## 1. Créer une clé\n\nDans FanConvert : **Réglages › API & MCP › Nouvelle clé**. Choisissez les créatrices et les\ndroits (lecture, écriture), confirmez avec votre mot de passe. La clé commence par\n`fc_sk_` et **ne s'affiche qu'une fois** : rangez-la dans un gestionnaire de secrets.\nSeuls les administrateurs de l'organisation peuvent utiliser l'API.\n\n## 2. Première requête\n\n```bash\ncurl https://app.fanconvert.ai/public/v1/me \\\n  -H \"Authorization: Bearer $FANCONVERT_API_KEY\"\n```\n\n```json\n{\n  \"keyId\": \"3f1c…\",\n  \"organizationId\": \"org_…\",\n  \"scopes\": [\"creators:read\", \"statistics:read\"],\n  \"creatorIds\": [\"lina\"],\n  \"expiresAt\": \"2026-12-07T05:40:00Z\"\n}\n```\n\n## 3. Lister vos créatrices\n\n```bash\ncurl https://app.fanconvert.ai/public/v1/creators \\\n  -H \"Authorization: Bearer $FANCONVERT_API_KEY\"\n```\n\n## Exemples JavaScript et Python\n\n```js\nconst res = await fetch(\"https://app.fanconvert.ai/public/v1/creators\", {\n  headers: { Authorization: `Bearer ${process.env.FANCONVERT_API_KEY}` },\n});\nif (!res.ok) throw new Error((await res.json()).detail);\nconst { items } = await res.json();\n```\n\n```python\nimport os, requests\n\nr = requests.get(\n    \"https://app.fanconvert.ai/public/v1/creators\",\n    headers={\"Authorization\": f\"Bearer {os.environ['FANCONVERT_API_KEY']}\"},\n    timeout=30,\n)\nr.raise_for_status()\nprint(r.json()[\"items\"])\n```\n\n\n# Authentification\n\nChaque requête porte la clé dans l'en-tête `Authorization: Bearer fc_sk_…`. Une clé :\n\n- appartient à **une personne** de l'organisation, qui doit être **administratrice** ;\n- ne voit que **les créatrices choisies** à sa création (une autre répond `404`, comme si\n  elle n'existait pas) ;\n- n'a que **les droits cochés** (un droit manquant répond `403` et nomme le droit) ;\n- expire (30 jours par défaut, 90 au plus) et se **révoque à tout moment** dans\n  Réglages › API & MCP : la révocation vaut à la requête suivante ;\n- est la même que celle du serveur MCP : un seul système de clés, un seul journal.\n\n| Droit | Ce qu'il ouvre |\n|---|---|\n| `creators:read` | les créatrices |\n| `conversations:read` | conversations et messages MYM et OnlyFans |\n| `telegram:read` | conversations et messages Telegram |\n| `fans:read` | étiquettes et note de l'équipe d'un fan |\n| `chatting:read` | qui répond à un fan (IA, personne, pause) |\n| `sales:read` | les ventes |\n| `statistics:read` | les statistiques par créatrice |\n| `scripts:read` · `media:read` | scripts de vente, médiathèque |\n| `notifications:read` | les urgences |\n| `fans:write` | écrire la note de l'équipe et poser/retirer une étiquette (avec `fans:read`) |\n| `chatting:write` | mettre l'IA en pause sur un fan, ou le lui rendre (avec `chatting:read`) |\n\n**Aucun droit ne permet d'envoyer un message à un fan.**\n\n# Écritures et idempotence\n\nChaque `POST` exige un en-tête **`Idempotency-Key`** (8 à 128 caractères `A-Z a-z 0-9 _ . : -`,\nun UUID par exemple). Rejouer la même clé avec la même requête rend **la même réponse sans\nseconde écriture** (en-tête `Idempotent-Replayed: true`) pendant 24 h ; la même clé pour une\nautre requête répond `422`. Les `PUT` et `DELETE` sont idempotents par nature ; la note exige\nla `revision` lue (`expectedRevision`), une écriture concurrente répond `409`.\n\nMettre l'IA en pause sur un fan est le même geste que « Arrêter le chatting » du dashboard\n(MYM) : le filtre de fans de la créatrice. Deux cas répondent `409` et se font depuis le\ndashboard, parce qu'ils dépassent ce fan : une créatrice qui répond à tous (le geste changerait\nson mode) et le dernier fan d'une liste blanche (le retirer couperait toute la créatrice).\n\n```bash\ncurl -X POST https://app.fanconvert.ai/public/v1/creators/lina/conversations/123/ai/pause \\\n  -H \"Authorization: Bearer $FANCONVERT_API_KEY\" \\\n  -H \"Idempotency-Key: $(uuidgen)\"\n```\n\n# Pagination\n\nLes listes qui grandissent sont paginées par **curseur** :\n\n```json\n{ \"items\": [ … ], \"nextCursor\": \"eyJ…\" }\n```\n\nRepassez `nextCursor` en paramètre `cursor` pour la page suivante ; `null` = dernière page.\n`limit` va de 1 à 100 (50 par défaut). Un curseur est opaque : ne le fabriquez pas.\n\n# Erreurs\n\nToutes les erreurs suivent la [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457)\n(`application/problem+json`) :\n\n```json\n{\n  \"type\": \"https://fanconvert.app/problems/not-found\",\n  \"title\": \"Ressource introuvable\",\n  \"status\": 404,\n  \"detail\": \"Créatrice introuvable : lina\",\n  \"instance\": \"urn:request:6c1e…\",\n  \"code\": \"not-found\",\n  \"params\": {},\n  \"errors\": []\n}\n```\n\nDonnez `instance` (le numéro de requête) au support : il retrouve l'appel. `code` est\nstable, `detail` est une phrase pour un humain.\n\n| Statut | Quand |\n|---|---|\n| 401 | clé absente, invalide, expirée ou révoquée |\n| 403 | droit manquant, ou personne non administratrice |\n| 404 | ressource introuvable **ou hors de la clé** |\n| 409 | conflit d'écriture (révision périmée) |\n| 422 | paramètre invalide |\n| 429 | limite de requêtes atteinte |\n| 503 | service momentanément indisponible : réessayez |\n\n# Limites de requêtes\n\n**120 requêtes par minute et par clé.** Chaque réponse les annonce :\n\n```\nRateLimit-Policy: \"cle\";q=120;w=60\nRateLimit: \"cle\";r=117;t=42\n```\n\nFormat du brouillon IETF `draft-ietf-httpapi-ratelimit-headers-11` : `q` le quota, `w` la\nfenêtre (s), `r` ce qui reste, `t` les secondes avant la remise à zéro. Les anciens\n`RateLimit-Limit`, `RateLimit-Remaining` et `RateLimit-Reset` sont toujours envoyés.\n\nAu-delà, `429` avec `Retry-After` (en secondes) : attendez ce délai avant de réessayer.\n\n# Montants et dates\n\n- **Montants** : entiers en unité mineure de la devise, champs `…Minor`, toujours avec leur\n  `currency` (ISO 4217). `1250` en `EUR` = 12,50 €. Telegram compte en Stars (`XTR`), sans\n  unité mineure : `250` = 250 Stars.\n- **Dates** : UTC, ISO-8601 (`2026-11-07T05:40:00Z`).\n\n# Données personnelles\n\nL'API ne rend que ce que le dashboard montre déjà à une administratrice : noms de fans,\nmessages, notes. Traitez-les comme des données personnelles : stockage minimal, accès\nrestreint, suppression quand vous n'en avez plus besoin.\n\n\n# Utiliser avec une IA\n\nFanConvert a aussi un **serveur MCP** (Model Context Protocol) pour brancher votre\nassistant IA directement sur votre compte : `https://app.fanconvert.ai/mcp`,\navec la même clé `fc_sk_…`. Réglages › API & MCP donne la configuration à copier.\n\nPour un assistant qui écrit du code contre cette API :\n\n- l'index lisible par une IA : [`/public/v1/llms.txt`](/public/v1/llms.txt) ;\n- le contrat complet : [`/public/v1/openapi.json`](/public/v1/openapi.json) (OpenAPI 3.1).\n\n# Webhooks\n\nRecevez les événements sans interroger l'API : `POST /public/v1/webhooks` avec une adresse\n`https://` publique (port 443 ou 8443) et les événements voulus. La réponse donne **une seule\nfois** le secret de signature `whsec_…`. Droits : `webhooks:write` (et `webhooks:read` pour\nlister et lire le journal), plus le droit de lecture de chaque événement.\n\n| Événement | Quand | Droit de lecture exigé |\n|---|---|---|\n| `sale.created` | une vente (MYM, Telegram, OnlyFans, Fanvue) | `sales:read` (+ `telegram:read` pour Telegram) |\n| `emergency.created` | une nouvelle urgence | `notifications:read` |\n| `ai.paused` | l'IA mise en pause sur un fan, ou coupée pour une créatrice | `chatting:read` |\n| `ping` | `POST /public/v1/webhooks/{id}/ping`, pour tester | — |\n\nUn événement ne porte **que des identifiants et des montants**, jamais le nom d'un fan ni un\nmessage : lisez le détail avec votre clé.\n\n```json\n{\n  \"id\": \"evt_9b1c…\",\n  \"type\": \"sale.created\",\n  \"apiVersion\": \"v1-beta\",\n  \"createdAt\": \"2026-11-07T12:30:00Z\",\n  \"data\": {\"platform\": \"mym\", \"creatorId\": \"lina\", \"saleId\": \"s_…\",\n           \"conversationId\": \"123\", \"amountMinor\": 1500, \"currency\": \"EUR\", \"at\": \"…\"}\n}\n```\n\n**Vérifier la signature.** En-tête `FanConvert-Signature: t=<secondes>,v1=<hex>` : calculez\nHMAC-SHA256 de `\"<t>.<corps brut>\"` avec votre secret, comparez en temps constant, refusez un\n`t` de plus de 5 minutes.\n\n```python\nimport hashlib, hmac, time\n\ndef verifier(secret: str, entete: str, corps: bytes) -> bool:\n    champs = dict(p.split(\"=\", 1) for p in entete.split(\",\"))\n    if abs(time.time() - int(champs[\"t\"])) > 300:\n        return False\n    attendu = hmac.new(secret.encode(), f\"{champs['t']}.\".encode() + corps,\n                       hashlib.sha256).hexdigest()\n    return hmac.compare_digest(attendu, champs[\"v1\"])\n```\n\n**Livraison.** Répondez `2xx` en moins de 10 s. Sinon, nouvel essai après 1 min, 5 min,\n30 min, 2 h et 6 h (six essais), puis `failed`. Les redirections ne sont jamais suivies.\nL'en-tête `FanConvert-Event-Id` permet d'ignorer un doublon. Le journal :\n`GET /public/v1/webhooks/{id}/deliveries`. Un webhook vit avec sa clé : clé révoquée ou expirée,\nil se désactive. `DELETE /public/v1/webhooks/{id}` le désactive (le journal reste).\nÉvénements détectés toutes les 30 s environ ; à la création, rien du passé n'est rejoué.\n\n# Journal des changements\n\n- **2026-11-07 — webhooks.** `sale.created`, `emergency.created`, `ai.paused`, `ping` ;\n  signature HMAC-SHA256 horodatée, six essais, journal des livraisons.\n- **2026-11-07 — écritures sûres.** Note de l'équipe et étiquettes d'un fan (`fans:write`),\n  pause et reprise de l'IA sur un fan MYM (`chatting:write`), `Idempotency-Key` sur chaque\n  `POST`. La médiathèque n'annonce plus que `mym`.\n- **2026-11-07 — v1 Beta.** Lecture : créatrices, conversations et messages (MYM, Telegram,\n  OnlyFans), fiche d'un fan, état de l'IA, ventes (MYM, Telegram, OnlyFans, Fanvue),\n  statistiques, scripts, médias, urgences. Clés `fc_sk_…`.\n","version":"1.0.0-beta","contact":{"name":"FanConvert","url":"https://fanconvert.ai"},"x-beta":true},"servers":[{"url":"https://app.fanconvert.ai"}],"paths":{"/public/v1/me":{"get":{"tags":["Clé API"],"summary":"La clé utilisée","operationId":"getApiKey","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiKeyInfo"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators":{"get":{"tags":["Créatrices"],"summary":"Les créatrices de la clé","operationId":"listCreators","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Creator_"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}":{"get":{"tags":["Créatrices"],"summary":"Une créatrice","operationId":"getCreator","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Creator"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/conversations":{"get":{"tags":["Conversations"],"summary":"Les conversations d'une créatrice","operationId":"listConversations","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram","onlyfans"],"type":"string","description":"La plateforme de la conversation.","default":"mym","title":"Platform"},"description":"La plateforme de la conversation."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Taille de la page.","default":50,"title":"Limit"},"description":"Taille de la page."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"description":"Le `nextCursor` de la page précédente.","title":"Cursor"},"description":"Le `nextCursor` de la page précédente."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Conversation_"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/conversations/{conversation_id}/messages":{"get":{"tags":["Conversations"],"summary":"Les messages d'une conversation","operationId":"listMessages","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la conversation.","title":"Conversation Id"},"description":"Identifiant de la conversation."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram","onlyfans"],"type":"string","description":"La plateforme de la conversation.","default":"mym","title":"Platform"},"description":"La plateforme de la conversation."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Taille de la page.","default":50,"title":"Limit"},"description":"Taille de la page."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"description":"Le `nextCursor` de la page précédente.","title":"Cursor"},"description":"Le `nextCursor` de la page précédente."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Message_"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/labels":{"get":{"tags":["Fans"],"summary":"Les étiquettes de fans d'une créatrice","operationId":"listFanLabels","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram"],"type":"string","description":"La plateforme du fan.","default":"mym","title":"Platform"},"description":"La plateforme du fan."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_FanLabel_"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/fans/{conversation_id}":{"get":{"tags":["Fans"],"summary":"La fiche d'un fan : étiquettes et note de l'équipe","operationId":"getFan","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la conversation.","title":"Conversation Id"},"description":"Identifiant de la conversation."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram"],"type":"string","description":"La plateforme du fan.","default":"mym","title":"Platform"},"description":"La plateforme du fan."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FanCard"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/conversations/{conversation_id}/ai":{"get":{"tags":["IA"],"summary":"Qui répond à ce fan : l'IA, une personne, ou personne","operationId":"getAiState","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la conversation.","title":"Conversation Id"},"description":"Identifiant de la conversation."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram"],"type":"string","description":"La plateforme du fan.","default":"mym","title":"Platform"},"description":"La plateforme du fan."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiState"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/sales":{"get":{"tags":["Ventes et statistiques"],"summary":"Les ventes, par plateforme","operationId":"listSales","parameters":[{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram","onlyfans","fanvue"],"type":"string","default":"mym","title":"Platform"}},{"name":"creatorId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$"},{"type":"null"}],"description":"Filtre.","title":"Creatorid"},"description":"Filtre."},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"MYM seulement.","title":"From"},"description":"MYM seulement."},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"description":"MYM seulement.","title":"To"},"description":"MYM seulement."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Taille de la page.","default":50,"title":"Limit"},"description":"Taille de la page."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"description":"Le `nextCursor` de la page précédente.","title":"Cursor"},"description":"Le `nextCursor` de la page précédente."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SalesPage"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/statistics/creators":{"get":{"tags":["Ventes et statistiques"],"summary":"Revenus et envois par créatrice sur une période","operationId":"listCreatorStatistics","parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"From"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","format":"date-time","title":"To"}},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram","onlyfans","fanvue"],"type":"string","default":"mym","title":"Platform"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_CreatorStats_"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/scripts":{"get":{"tags":["Scripts et médias"],"summary":"Les scripts de vente d'une créatrice","operationId":"listScripts","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram","onlyfans","fanvue"],"type":"string","default":"mym","title":"Platform"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Script_"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/media":{"get":{"tags":["Scripts et médias"],"summary":"La médiathèque d'une créatrice","operationId":"listMedia","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"platform","in":"query","required":false,"schema":{"const":"mym","type":"string","description":"La médiathèque n'existe que sur MYM.","default":"mym","title":"Platform"},"description":"La médiathèque n'existe que sur MYM."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_MediaPack_"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/emergencies":{"get":{"tags":["Urgences"],"summary":"Les urgences : ce qui attend un humain","operationId":"listEmergencies","parameters":[{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram"],"type":"string","description":"La plateforme du fan.","default":"mym","title":"Platform"},"description":"La plateforme du fan."},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"enum":["open","to_handle","in_progress","resolved"],"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"creatorId","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$"},{"type":"null"}],"title":"Creatorid"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"description":"Taille de la page.","default":50,"title":"Limit"},"description":"Taille de la page."},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","maxLength":512},{"type":"null"}],"description":"Le `nextCursor` de la page précédente.","title":"Cursor"},"description":"Le `nextCursor` de la page précédente."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Page_Emergency_"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/fans/{conversation_id}/note":{"put":{"tags":["Fans"],"summary":"Écrire la note de l'équipe sur un fan","operationId":"putFanNote","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la conversation.","title":"Conversation Id"},"description":"Identifiant de la conversation."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram"],"type":"string","description":"La plateforme du fan.","default":"mym","title":"Platform"},"description":"La plateforme du fan."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamNoteWrite"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FanCard"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/fans/{conversation_id}/labels/{label_id}":{"put":{"tags":["Fans"],"summary":"Poser une étiquette sur un fan (sans effet si elle y est déjà)","operationId":"addFanLabel","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la conversation.","title":"Conversation Id"},"description":"Identifiant de la conversation."},{"name":"label_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de l'étiquette.","title":"Label Id"},"description":"Identifiant de l'étiquette."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram"],"type":"string","description":"La plateforme du fan.","default":"mym","title":"Platform"},"description":"La plateforme du fan."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FanCard"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true},"delete":{"tags":["Fans"],"summary":"Retirer une étiquette d'un fan","operationId":"removeFanLabel","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la conversation.","title":"Conversation Id"},"description":"Identifiant de la conversation."},{"name":"label_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de l'étiquette.","title":"Label Id"},"description":"Identifiant de l'étiquette."},{"name":"platform","in":"query","required":false,"schema":{"enum":["mym","telegram"],"type":"string","description":"La plateforme du fan.","default":"mym","title":"Platform"},"description":"La plateforme du fan."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FanCard"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/conversations/{conversation_id}/ai/pause":{"post":{"tags":["IA"],"summary":"Mettre l'IA en pause sur ce fan (« Arrêter le chatting »), MYM","operationId":"pauseAi","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la conversation.","title":"Conversation Id"},"description":"Identifiant de la conversation."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Obligatoire : la même clé rejoue la même réponse, sans 2e écriture.","title":"Idempotency-Key"},"description":"Obligatoire : la même clé rejoue la même réponse, sans 2e écriture."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiPause"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/creators/{creator_id}/conversations/{conversation_id}/ai/resume":{"post":{"tags":["IA"],"summary":"Rendre ce fan à l'IA (« Relancer le chatting »), MYM","operationId":"resumeAi","parameters":[{"name":"creator_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la créatrice.","title":"Creator Id"},"description":"Identifiant de la créatrice."},{"name":"conversation_id","in":"path","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:@-]{1,200}$","description":"Identifiant de la conversation.","title":"Conversation Id"},"description":"Identifiant de la conversation."},{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{8,128}$","description":"Obligatoire : la même clé rejoue la même réponse, sans 2e écriture.","title":"Idempotency-Key"},"description":"Obligatoire : la même clé rejoue la même réponse, sans 2e écriture."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AiPause"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/webhooks":{"post":{"tags":["Webhooks"],"summary":"Enregistrer une adresse qui recevra les événements","operationId":"createWebhook","parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","pattern":"^[A-Za-z0-9_.:-]{8,128}$","title":"Idempotency-Key"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WebhookCreated"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true},"get":{"tags":["Webhooks"],"summary":"Les webhooks de cette clé","operationId":"listWebhooks","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Webhook"},"title":"Response Listwebhooks"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/webhooks/{endpoint_id}":{"delete":{"tags":["Webhooks"],"summary":"Désactiver un webhook (son journal est gardé)","operationId":"disableWebhook","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","pattern":"^wh_[0-9a-f]{32}$","title":"Endpoint Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/webhooks/{endpoint_id}/deliveries":{"get":{"tags":["Webhooks"],"summary":"Le journal des livraisons, les plus récentes d'abord","operationId":"listWebhookDeliveries","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","pattern":"^wh_[0-9a-f]{32}$","title":"Endpoint Id"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string","pattern":"^dlv_[0-9a-f]{21}$"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeliveryPage"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}},"/public/v1/webhooks/{endpoint_id}/ping":{"post":{"tags":["Webhooks"],"summary":"Envoyer un événement `ping` (aucune donnée) pour tester la réception","operationId":"pingWebhook","parameters":[{"name":"endpoint_id","in":"path","required":true,"schema":{"type":"string","pattern":"^wh_[0-9a-f]{32}$","title":"Endpoint Id"}}],"responses":{"202":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Webhook"}}}},"401":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"403":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"404":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"409":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"422":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"429":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}},"503":{"description":"Erreur RFC 9457","content":{"application/problem+json":{"schema":{"$ref":"#/components/schemas/Problem"}},"application/json":{"schema":{"$ref":"#/components/schemas/Problem"}}}}},"x-beta":true}}},"components":{"schemas":{"AiPause":{"properties":{"conversationId":{"type":"string","title":"Conversationid"},"platform":{"type":"string","const":"mym","title":"Platform"},"paused":{"type":"boolean","title":"Paused","description":"true = l'IA ne répond plus à ce fan."},"filterMode":{"type":"string","enum":["none","whitelist","blacklist"],"title":"Filtermode","description":"Le mode du filtre de la créatrice, inchangé par l'API."}},"additionalProperties":false,"type":"object","required":["conversationId","platform","paused","filterMode"],"title":"AiPause","description":"Le chatting de l'IA sur ce fan, après le geste : le filtre de fans de la\ncréatrice, exactement comme « Arrêter / Relancer le chatting » du dashboard."},"AiState":{"properties":{"conversationId":{"type":"string","title":"Conversationid"},"platform":{"type":"string","enum":["mym","telegram"],"title":"Platform"},"creatorAiEnabled":{"type":"boolean","title":"Creatoraienabled"},"control":{"type":"string","enum":["ai","human","paused","blocked","transition"],"title":"Control","description":"ai = l'IA répond ; human = une personne a la main ; paused = personne ne répond ; blocked = un envoi précédent est à vérifier ; transition = un changement est en cours."}},"additionalProperties":false,"type":"object","required":["conversationId","platform","creatorAiEnabled","control"],"title":"AiState","description":"Qui répond à ce fan en ce moment, comme le montre le contrôle de la conversation."},"ApiKeyInfo":{"properties":{"keyId":{"type":"string","title":"Keyid"},"organizationId":{"type":"string","title":"Organizationid"},"scopes":{"items":{"type":"string"},"type":"array","title":"Scopes"},"creatorIds":{"items":{"type":"string"},"type":"array","title":"Creatorids","description":"Les créatrices que cette clé voit."},"expiresAt":{"type":"string","format":"date-time","title":"Expiresat"}},"additionalProperties":false,"type":"object","required":["keyId","organizationId","scopes","creatorIds","expiresAt"],"title":"ApiKeyInfo","description":"La clé qui fait cet appel : ce qu'elle peut lire et écrire."},"Conversation":{"properties":{"id":{"type":"string","title":"Id","description":"Identifiant de la conversation sur sa plateforme (MYM : le chat id)."},"platform":{"type":"string","enum":["mym","telegram","onlyfans"],"title":"Platform"},"fan":{"$ref":"#/components/schemas/Fan"},"lastFanMessageAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastfanmessageat"},"lastMessageAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Lastmessageat"},"unreadCount":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Unreadcount","description":"Messages du fan non lus, quand la plateforme les compte."},"hasPurchased":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Haspurchased"}},"additionalProperties":false,"type":"object","required":["id","platform","fan","lastFanMessageAt","lastMessageAt"],"title":"Conversation"},"Creator":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"status":{"type":"string","enum":["active","inactive","error"],"title":"Status"},"platforms":{"items":{"type":"string"},"type":"array","title":"Platforms"},"aiEnabled":{"type":"boolean","title":"Aienabled","description":"L'interrupteur de l'IA de la créatrice, comme sur le dashboard."}},"additionalProperties":false,"type":"object","required":["id","name","status","platforms","aiEnabled"],"title":"Creator"},"CreatorStats":{"properties":{"creatorId":{"type":"string","title":"Creatorid"},"name":{"type":"string","title":"Name"},"platform":{"type":"string","title":"Platform"},"currency":{"type":"string","title":"Currency"},"revenueMinor":{"type":"integer","title":"Revenueminor"},"sales":{"type":"integer","title":"Sales"},"messagesSent":{"type":"integer","title":"Messagessent"},"paidMediaSent":{"type":"integer","title":"Paidmediasent"},"freeMediaSent":{"type":"integer","title":"Freemediasent"}},"additionalProperties":false,"type":"object","required":["creatorId","name","platform","currency","revenueMinor","sales","messagesSent","paidMediaSent","freeMediaSent"],"title":"CreatorStats"},"Delivery":{"properties":{"id":{"type":"string","title":"Id"},"eventId":{"type":"string","title":"Eventid"},"eventType":{"type":"string","title":"Eventtype"},"status":{"type":"string","enum":["pending","delivered","failed"],"title":"Status"},"attempts":{"type":"integer","title":"Attempts"},"lastStatusCode":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Laststatuscode"},"lastError":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Lasterror","description":"Motif court : timeout, connexion, http_<code>, adresse_refusee…"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"nextAttemptAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Nextattemptat"},"deliveredAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Deliveredat"}},"additionalProperties":false,"type":"object","required":["id","eventId","eventType","status","attempts","lastStatusCode","lastError","createdAt","nextAttemptAt","deliveredAt"],"title":"Delivery"},"DeliveryPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Delivery"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor"}},"additionalProperties":false,"type":"object","required":["items"],"title":"DeliveryPage"},"Emergency":{"properties":{"id":{"type":"string","title":"Id"},"creatorId":{"type":"string","title":"Creatorid"},"conversationId":{"type":"string","title":"Conversationid"},"fanName":{"type":"string","title":"Fanname"},"reason":{"type":"string","title":"Reason"},"level":{"type":"string","title":"Level"},"priority":{"type":"string","title":"Priority"},"status":{"type":"string","enum":["to_handle","in_progress","resolved"],"title":"Status"},"occurrences":{"type":"integer","title":"Occurrences"},"openedAt":{"type":"string","format":"date-time","title":"Openedat"},"lastSignalAt":{"type":"string","format":"date-time","title":"Lastsignalat"},"resolvedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Resolvedat"},"excerpt":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Excerpt","description":"Le message du fan qui l'a déclenchée."}},"additionalProperties":false,"type":"object","required":["id","creatorId","conversationId","fanName","reason","level","priority","status","occurrences","openedAt","lastSignalAt","resolvedAt","excerpt"],"title":"Emergency"},"Fan":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Name"},"username":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Username"}},"additionalProperties":false,"type":"object","required":["name"],"title":"Fan"},"FanCard":{"properties":{"conversationId":{"type":"string","title":"Conversationid"},"platform":{"type":"string","enum":["mym","telegram"],"title":"Platform"},"labels":{"items":{"$ref":"#/components/schemas/FanLabel"},"type":"array","title":"Labels"},"note":{"$ref":"#/components/schemas/TeamNote"}},"additionalProperties":false,"type":"object","required":["conversationId","platform","labels","note"],"title":"FanCard"},"FanLabel":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"color":{"type":"string","title":"Color"}},"additionalProperties":false,"type":"object","required":["id","name","color"],"title":"FanLabel"},"MediaPack":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"fileCount":{"type":"integer","title":"Filecount"}},"additionalProperties":false,"type":"object","required":["id","name","description","fileCount"],"title":"MediaPack"},"Message":{"properties":{"id":{"type":"string","title":"Id"},"direction":{"type":"string","enum":["fan","creator"],"title":"Direction"},"text":{"type":"string","title":"Text"},"sentAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Sentat"},"media":{"items":{"$ref":"#/components/schemas/MessageMedia"},"type":"array","title":"Media"}},"additionalProperties":false,"type":"object","required":["id","direction","text","sentAt","media"],"title":"Message"},"MessageMedia":{"properties":{"status":{"type":"string","enum":["paid","pending","refused","free","unknown"],"title":"Status"},"priceMinor":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Priceminor"},"currency":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Currency"}},"additionalProperties":false,"type":"object","required":["status"],"title":"MessageMedia"},"Page_Conversation_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Conversation"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."}},"additionalProperties":false,"type":"object","required":["items"],"title":"Page[Conversation]"},"Page_CreatorStats_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/CreatorStats"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."}},"additionalProperties":false,"type":"object","required":["items"],"title":"Page[CreatorStats]"},"Page_Creator_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Creator"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."}},"additionalProperties":false,"type":"object","required":["items"],"title":"Page[Creator]"},"Page_Emergency_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Emergency"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."}},"additionalProperties":false,"type":"object","required":["items"],"title":"Page[Emergency]"},"Page_FanLabel_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/FanLabel"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."}},"additionalProperties":false,"type":"object","required":["items"],"title":"Page[FanLabel]"},"Page_MediaPack_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/MediaPack"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."}},"additionalProperties":false,"type":"object","required":["items"],"title":"Page[MediaPack]"},"Page_Message_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Message"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."}},"additionalProperties":false,"type":"object","required":["items"],"title":"Page[Message]"},"Page_Script_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Script"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."}},"additionalProperties":false,"type":"object","required":["items"],"title":"Page[Script]"},"Problem":{"properties":{"type":{"type":"string","title":"Type"},"title":{"type":"string","title":"Title"},"status":{"type":"integer","title":"Status"},"detail":{"type":"string","title":"Detail"},"instance":{"type":"string","title":"Instance","description":"Le numéro de la requête, à donner au support."},"code":{"type":"string","title":"Code","description":"Clé stable de l'erreur (`not-found`, …)."},"params":{"additionalProperties":{"anyOf":[{"type":"string"},{"type":"integer"},{"type":"number"},{"type":"boolean"},{"type":"null"}]},"type":"object","title":"Params"},"errors":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Errors"}},"additionalProperties":false,"type":"object","required":["type","title","status","detail","instance","code","params","errors"],"title":"Problem","description":"Une erreur, au format RFC 9457 (`application/problem+json`)."},"Sale":{"properties":{"id":{"type":"string","title":"Id"},"platform":{"type":"string","enum":["mym","telegram","onlyfans","fanvue"],"title":"Platform"},"creatorId":{"type":"string","title":"Creatorid"},"conversationId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Conversationid"},"at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"At"},"amountMinor":{"type":"integer","title":"Amountminor","description":"Montant payé, en unité mineure de la devise (centimes ; Stars pour XTR)."},"currency":{"type":"string","title":"Currency"},"kind":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Kind","description":"Ce qui a été payé : média, pourboire, abonnement…"},"refundedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Refundedat"}},"additionalProperties":false,"type":"object","required":["id","platform","creatorId","conversationId","at","amountMinor","currency"],"title":"Sale"},"SalesPage":{"properties":{"items":{"items":{"$ref":"#/components/schemas/Sale"},"type":"array","title":"Items"},"nextCursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nextcursor","description":"À repasser en `cursor` pour lire la page suivante ; null = dernière page."},"platform":{"type":"string","enum":["mym","telegram","onlyfans","fanvue"],"title":"Platform"},"currency":{"type":"string","title":"Currency"},"totalMinor":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Totalminor","description":"Total de la période, quand la plateforme le donne."}},"additionalProperties":false,"type":"object","required":["items","platform","currency"],"title":"SalesPage"},"Script":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"enabled":{"type":"boolean","title":"Enabled"},"stepsCount":{"type":"integer","title":"Stepscount"},"mediaCount":{"type":"integer","title":"Mediacount"},"folderId":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folderid"}},"additionalProperties":false,"type":"object","required":["id","name","description","enabled","stepsCount","mediaCount","folderId"],"title":"Script"},"TeamNote":{"properties":{"text":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Text"},"revision":{"type":"integer","title":"Revision","description":"À renvoyer en `expectedRevision` pour écrire."},"updatedAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updatedat"}},"additionalProperties":false,"type":"object","required":["text","revision","updatedAt"],"title":"TeamNote"},"TeamNoteWrite":{"properties":{"text":{"type":"string","maxLength":1000,"title":"Text","description":"La note, 1 000 caractères au plus ; vide = retirée."},"expectedRevision":{"type":"integer","minimum":0.0,"title":"Expectedrevision","description":"La `revision` lue : une autre écriture entre-temps → 409."}},"additionalProperties":false,"type":"object","required":["text","expectedRevision"],"title":"TeamNoteWrite"},"Webhook":{"properties":{"id":{"type":"string","title":"Id"},"url":{"type":"string","title":"Url"},"events":{"items":{"type":"string"},"type":"array","title":"Events"},"createdAt":{"type":"string","format":"date-time","title":"Createdat"},"disabledAt":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Disabledat"},"disabledReason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disabledreason"}},"additionalProperties":false,"type":"object","required":["id","url","events","createdAt","disabledAt","disabledReason"],"title":"Webhook"},"WebhookCreate":{"properties":{"url":{"type":"string","maxLength":2048,"title":"Url","description":"https://, hôte public, port 443 ou 8443."},"events":{"items":{"type":"string","enum":["sale.created","emergency.created","ai.paused"]},"type":"array","maxItems":3,"minItems":1,"title":"Events"}},"additionalProperties":false,"type":"object","required":["url","events"],"title":"WebhookCreate"},"WebhookCreated":{"properties":{"webhook":{"$ref":"#/components/schemas/Webhook"},"secret":{"type":"string","title":"Secret","description":"Le secret de signature `whsec_…` : affiché UNE fois, gardez-le."}},"additionalProperties":false,"type":"object","required":["webhook","secret"],"title":"WebhookCreated"}},"securitySchemes":{"cleApi":{"type":"http","scheme":"bearer","bearerFormat":"fc_sk_…","description":"Une clé créée dans Réglages > API & MCP."}}},"security":[{"cleApi":[]}]}