openapi: 3.0.3 info: title: 'WhatsApp Baileys API API Documentation' description: '' version: 1.0.0 servers: - url: 'https://scan.flowkirim.com' tags: - name: Endpoints description: '' paths: /api/whatsapp/sessions: post: summary: 'Create a new WhatsApp session' operationId: createANewWhatsAppSession description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_name: type: string description: 'Must not be greater than 255 characters.' example: vmqeopfuudtdsufvyvddq required: - session_name security: [] '/api/whatsapp/sessions/{sessionId}/status': get: summary: 'Get the status of a session' operationId: getTheStatusOfASession description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] parameters: - in: path name: sessionId description: '' example: consequatur required: true schema: type: string '/api/whatsapp/sessions/{deviceId}': get: summary: 'Get the status active from session device id' operationId: getTheStatusActiveFromSessionDeviceId description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] parameters: - in: path name: deviceId description: '' example: consequatur required: true schema: type: string '/api/whatsapp/sessions/{sessionId}/disconnect': delete: summary: 'Disconnect a session' operationId: disconnectASession description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: sessionId description: '' example: consequatur required: true schema: type: string '/api/whatsapp/sessions/{sessionId}': delete: summary: 'Delete a session' operationId: deleteASession description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: sessionId description: '' example: consequatur required: true schema: type: string '/api/whatsapp/sessions/{sessionId}/device': delete: summary: 'Delete a session' operationId: deleteASession description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: sessionId description: '' example: consequatur required: true schema: type: string /api/whatsapp/messages/text: post: summary: 'Send a text message' operationId: sendATextMessage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string description: '' example: consequatur to: type: string description: '' example: consequatur message: type: string description: '' example: consequatur quoted_message_id: type: string description: '' example: consequatur nullable: true mentions: type: array description: '' example: - consequatur items: type: string required: - session_id - to - message security: [] /api/whatsapp/messages/media: post: summary: "NOTE: Button and list messages are not supported in Baileys v7\nUse the text message endpoint with numbered options as a workaround instead" operationId: nOTEButtonAndListMessagesAreNotSupportedInBaileysV7UseTheTextMessageEndpointWithNumberedOptionsAsAWorkaroundInstead description: 'Send Media (image, audio, vidéo, document)' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string description: '' example: consequatur to: type: string description: '' example: consequatur media_url: type: string description: 'Must be a valid URL.' example: 'https://www.mueller.com/laborum-eius-est-dolor-dolores-minus-voluptatem' type: type: string description: '' example: image enum: - image - audio - video - document caption: type: string description: '' example: consequatur nullable: true required: - session_id - to - media_url - type security: [] /api/whatsapp/messages/group/text: post: summary: 'Send a text message to a group' operationId: sendATextMessageToAGroup description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string description: '' example: consequatur group_id: type: string description: '' example: consequatur message: type: string description: '' example: consequatur quoted_message_id: type: string description: '' example: consequatur nullable: true mentions: type: array description: '' example: - consequatur items: type: string required: - session_id - group_id - message security: [] /api/whatsapp/messages/group/media: post: summary: 'Send a media message to a group' operationId: sendAMediaMessageToAGroup description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string description: '' example: consequatur group_id: type: string description: '' example: consequatur media_url: type: string description: 'Must be a valid URL.' example: 'https://www.mueller.com/laborum-eius-est-dolor-dolores-minus-voluptatem' type: type: string description: '' example: audio enum: - image - audio - video - document caption: type: string description: '' example: consequatur nullable: true required: - session_id - group_id - media_url - type security: [] /api/whatsapp/groups/sync: post: summary: 'Sync groups from WhatsApp to database' operationId: syncGroupsFromWhatsAppToDatabase description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_device_id: type: string description: '' example: consequatur required: - session_device_id security: [] /api/whatsapp/groups/device: get: summary: 'Get saved groups for a device' operationId: getSavedGroupsForADevice description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_device_id: type: string description: '' example: consequatur required: - session_device_id security: [] '/api/whatsapp/groups/{groupId}': delete: summary: 'Delete a group' operationId: deleteAGroup description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: groupId description: '' example: consequatur required: true schema: type: string /api/whatsapp/messages/bulk/text: post: summary: 'Send bulk text messages' operationId: sendBulkTextMessages description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string description: '' example: consequatur contacts: type: array description: '' example: - consequatur items: type: string message: type: string description: '' example: consequatur delay: type: integer description: 'Must be at least 100. Must not be greater than 60000.' example: 13 nullable: true mentions: type: array description: '' example: - consequatur items: type: string required: - session_id - message security: [] '/api/whatsapp/messages/bulk/{jobId}/status': get: summary: 'Get bulk message job status' operationId: getBulkMessageJobStatus description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] parameters: - in: path name: jobId description: '' example: consequatur required: true schema: type: string '/api/whatsapp/messages/bulk/{jobId}': delete: summary: 'Cancel a bulk message job' operationId: cancelABulkMessageJob description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: jobId description: '' example: consequatur required: true schema: type: string /api/whatsapp/messages/bulk: get: summary: 'List all bulk message jobs' operationId: listAllBulkMessageJobs description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] /api/whatsapp/messages/schedule/text: post: summary: 'Schedule a text message' operationId: scheduleATextMessage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string description: '' example: consequatur to: type: string description: '' example: consequatur message: type: string description: '' example: consequatur scheduled_at: type: string description: 'Must be a valid date. Must be a date after now.' example: '2107-02-23' required: - session_id - to - message - scheduled_at security: [] /api/whatsapp/messages/schedule/media: post: summary: 'Schedule a media message' operationId: scheduleAMediaMessage description: '' parameters: [] responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: session_id: type: string description: '' example: consequatur to: type: string description: '' example: consequatur media_url: type: string description: 'Must be a valid URL.' example: 'https://www.mueller.com/laborum-eius-est-dolor-dolores-minus-voluptatem' type: type: string description: '' example: video enum: - image - audio - video - document caption: type: string description: '' example: consequatur nullable: true scheduled_at: type: string description: 'Must be a valid date. Must be a date after now.' example: '2107-02-23' required: - session_id - to - media_url - type - scheduled_at security: [] '/api/whatsapp/messages/schedule/{messageId}/status': get: summary: 'Get scheduled message status' operationId: getScheduledMessageStatus description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] parameters: - in: path name: messageId description: '' example: consequatur required: true schema: type: string '/api/whatsapp/messages/schedule/{messageId}': delete: summary: 'Cancel a scheduled message' operationId: cancelAScheduledMessage description: '' parameters: [] responses: { } tags: - Endpoints security: [] parameters: - in: path name: messageId description: '' example: consequatur required: true schema: type: string /api/whatsapp/messages/schedule: get: summary: 'List all scheduled messages' operationId: listAllScheduledMessages description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] '/api/whatsapp/sessions/{sessionId}/messages': get: summary: 'Get message history' operationId: getMessageHistory description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] parameters: - in: path name: sessionId description: '' example: consequatur required: true schema: type: string '/api/whatsapp/sessions/{sessionId}/contacts': get: summary: 'Get contacts for a session' operationId: getContactsForASession description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] parameters: - in: path name: sessionId description: '' example: consequatur required: true schema: type: string '/api/whatsapp/sessions/{sessionId}/groups': get: summary: 'Get groups for a session' operationId: getGroupsForASession description: '' parameters: [] responses: 401: description: '' content: application/json: schema: type: object example: message: 'Unauthorized - No Bearer Token' properties: message: type: string example: 'Unauthorized - No Bearer Token' tags: - Endpoints security: [] parameters: - in: path name: sessionId description: '' example: consequatur required: true schema: type: string /api/health: get: summary: '' operationId: getApiHealth description: '' parameters: [] responses: 200: description: '' content: application/json: schema: type: object example: status: OK timestamp: '2026-01-24T14:09:57.860169Z' service: 'WhatsApp Baileys API' properties: status: type: string example: OK timestamp: type: string example: '2026-01-24T14:09:57.860169Z' service: type: string example: 'WhatsApp Baileys API' tags: - Endpoints security: []