{
  "openapi": "3.0.1",
  "info": {
    "title": "Leboncoin Acheteur API - Messages & Inbox",
    "description": "Envoyez des messages aux vendeurs Leboncoin et consultez votre boîte de réception. Batch jusqu’à 10 annonces, 2FA SMS/email, pass 30 jours sans renouvellement automatique.",
    "version": "0.0",
    "x-build-id": "r1rEFbqMt0Snhf3p6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clearpath~leboncoin-acheteur/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clearpath-leboncoin-acheteur",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/clearpath~leboncoin-acheteur/runs": {
      "post": {
        "operationId": "runs-sync-clearpath-leboncoin-acheteur",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/clearpath~leboncoin-acheteur/run-sync": {
      "post": {
        "operationId": "run-sync-clearpath-leboncoin-acheteur",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "action"
        ],
        "properties": {
          "action": {
            "title": "Action",
            "enum": [
              "sendMessage",
              "fetchInbox",
              "fetchConversation",
              "makeOffer",
              "buyNow"
            ],
            "type": "string",
            "description": "Choisissez l'action à effectuer. Chaque action a sa propre section de paramètres ci-dessous.<br><br>• <b>sendMessage</b> — Envoyer un message à un ou plusieurs vendeurs<br>• <b>fetchInbox</b> — Consulter vos conversations<br>• <b>fetchConversation</b> — Récupérer l'historique complet d'une conversation<br>• <b>makeOffer</b> — Bientôt disponible<br>• <b>buyNow</b> — Bientôt disponible"
          },
          "email": {
            "title": "Email leboncoin",
            "type": "string",
            "description": "L'adresse email de votre compte leboncoin.fr. Utilisé uniquement pour l'authentification API.<br><br>Your leboncoin.fr account email. Used only for API authentication."
          },
          "password": {
            "title": "Mot de passe / Password",
            "type": "string",
            "description": "Le mot de passe de votre compte leboncoin.fr. Chiffré et jamais stocké en clair."
          },
          "twoFactorCode": {
            "title": "Code de vérification / 2FA",
            "type": "string",
            "description": "Optionnel. Si leboncoin demande un code de vérification par SMS ou email, lancez d'abord l'acteur sans ce champ. L'acteur demandera le code et s'arrêtera. Relancez ensuite avec le dernier code reçu, idéalement dans les 15 minutes.<br><br>Optional. First run without this field to request the SMS or email code. The actor will stop after requesting it. Run again with the latest code, preferably within 15 minutes."
          },
          "adUrl": {
            "title": "URL de l'annonce / Ad URL",
            "type": "string",
            "description": "Lien vers l'annonce leboncoin cible.<br><br>Format : <code>https://www.leboncoin.fr/ad/categorie/123456789</code><br><br>Utilisé par : sendMessage, makeOffer, buyNow.<br>Non nécessaire pour fetchInbox."
          },
          "adUrls": {
            "title": "Plusieurs annonces (batch) / Multiple ads",
            "maxItems": 10,
            "type": "array",
            "description": "Traitez plusieurs annonces en lot.<br><br>Compatible avec : <b>sendMessage</b> (même message à plusieurs vendeurs).<br>Max 10 URLs. Si renseigné, remplace l'URL unique ci-dessus.",
            "items": {
              "type": "string"
            }
          },
          "message": {
            "title": "Message",
            "type": "string",
            "description": "Votre message au vendeur. Texte libre, max 2500 caractères.<br><br>Conseil : un message personnalisé a plus de chances de recevoir une réponse qu'un message générique."
          },
          "senderName": {
            "title": "Nom affiché / Display name",
            "type": "string",
            "description": "Nom affiché au vendeur dans la conversation.<br>Optionnel. Si vide, le champ est omis de la requête."
          },
          "offerPrice": {
            "title": "Prix proposé / Offer price",
            "minimum": 0.01,
            "type": "number",
            "description": "Votre offre en euros.<br><br>Le système vérifie que le prix est dans les limites autorisées (min/max) avant d'envoyer. Vous recevrez les bornes dans le résultat si le prix est refusé.<br><br>Exemple : pour proposer 150€, entrez <code>150</code>."
          },
          "inboxLimit": {
            "title": "Nombre de conversations / Conversation limit",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Nombre maximum de conversations à récupérer depuis votre boîte de réception.<br>L'API utilise une pagination par curseur, les conversations les plus récentes apparaissent en premier.",
            "default": 50
          },
          "includeContactedAds": {
            "title": "Inclure les annonces contactées / Include contacted ads",
            "type": "boolean",
            "description": "Récupère aussi la liste des annonces auxquelles vous avez déjà répondu, avec les IDs de conversation associés.<br><br>Adds a supplementary list of ads you've previously replied to.",
            "default": false
          },
          "conversationId": {
            "title": "ID de conversation / Conversation ID",
            "type": "string",
            "description": "L'identifiant de la conversation dont vous voulez l'historique complet.<br><br>Vous le trouvez dans le champ <code>conversation_id</code> du résultat d'un run <b>fetchInbox</b>.<br><br>Requis pour <b>fetchConversation</b>."
          },
          "messageOrder": {
            "title": "Ordre des messages / Message order",
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string",
            "description": "Ordre chronologique des messages renvoyés.<br><br><b>asc</b> — du plus ancien au plus récent (défaut).<br><b>desc</b> — du plus récent au plus ancien.",
            "default": "asc"
          },
          "messageLimit": {
            "title": "Nombre de messages / Message limit",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Nombre maximum de messages à récupérer pour la conversation.",
            "default": 1000
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}