openapi: 3.0.3
info:
    title: IVOWABA
    description: 'IVOWBA API documentation'
    version: 1.0.0
servers:
    -
        url: 'https://waba.ivosights.com'
paths:
    /api/v1/contacts/check:
        post:
            summary: 'Check Whatsapp Contact'
            description: "Use the contacts node to manage WhatsApp users in your database by validating them before sending messages and verify a user's identity with identity hashes.\na valid WhatsApp contact would have a <b>wa_id</b>, this wa_id will be used to send a WhatsApp Message to selected contact\n<aside class=\"note\">You should only send WhatsApp message to a <b>valid</b> contact</aside>"
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    contacts: [{ input: '+628537639789', status: invalid }, { input: '+62895421862180', status: valid, wa_id: '62895421862180' }]
                                    meta: { api_status: stable, version: 2.33.3 }
                                properties:
                                    contacts: { type: array, example: [{ input: '+628537639789', status: invalid }, { input: '+62895421862180', status: valid, wa_id: '62895421862180' }], items: { type: object } }
                                    meta: { type: object, example: { api_status: stable, version: 2.33.3 } }
            tags:
                - Contact
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                contacts:
                                    type: array
                                    description: 'Array of valid phone numbers including country code prefix.'
                                    example: ['+628954218621', '+628127631234']
                                    items: { type: string }
                            required:
                                - contacts
    /api/v1/contacts/block:
        post:
            summary: ''
            description: ''
            parameters:
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - Contact
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: ''
                                    example: ut
                            required:
                                - wa_id
            security: []
    /api/v1/contacts/unblock:
        post:
            summary: ''
            description: ''
            parameters:
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - Contact
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: ''
                                    example: optio
                            required:
                                - wa_id
            security: []
    /api/v1/countries:
        get:
            summary: 'Fetch Countries'
            description: 'Fetch country list including ISO code and phone dial code'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 6074716f6c09086f640ee9da, name: Indonesia, dial_code: '+62', iso: ID, iso3: IDN }, { id: 6074716f6c09086f640ee9db, name: Iran, dial_code: '+98', iso: IR, iso3: IRN }]
                                properties:
                                    data: { type: array, example: [{ id: 6074716f6c09086f640ee9da, name: Indonesia, dial_code: '+62', iso: ID, iso3: IDN }, { id: 6074716f6c09086f640ee9db, name: Iran, dial_code: '+98', iso: IR, iso3: IRN }], items: { type: object } }
            tags:
                - Country
    '/api/v1/media/{id}':
        get:
            summary: 'Retrieve WhatsApp Media'
            description: 'Fetch Whatsapp media file like image, audio, video from incoming message'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: 'Media file'
                    content:
                        application/octet-stream:
                            schema:
                                type: string
                                format: binary
                404:
                    description: '404, file not found'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: 'File not found'
                                properties:
                                    message: { type: string, example: 'File not found' }
            tags:
                - Media
        parameters:
            -
                in: path
                name: id
                description: 'Media ID'
                example: f043afd0-f0ae-4b9c-ab3d-696fb4c8cd68
                required: true
                schema:
                    type: string
    '/api/v1/media/{id}/download':
        get:
            summary: ''
            description: ''
            parameters:
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                401:
                    description: ''
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    message: 'Unable to authenticate your request.'
                                    exception: Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException
                                    file: /usr/share/nginx/html/app/Http/Middleware/AuthWithApiKey.php
                                    line: 30
                                    trace: [{ file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: App\Http\Middleware\AuthWithApiKey, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php, line: 41, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Routing\Middleware\SubstituteBindings, type: '->' }, { file: /usr/share/nginx/html/app/Http/Middleware/ForceJsonResponse.php, line: 20, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: App\Http\Middleware\ForceJsonResponse, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.php, line: 65, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php, line: 103, function: handleRequest, class: Illuminate\Routing\Middleware\ThrottleRequestsWithRedis, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php, line: 55, function: handleRequestUsingNamedLimiter, class: Illuminate\Routing\Middleware\ThrottleRequests, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Routing\Middleware\ThrottleRequests, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 103, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php, line: 694, function: then, class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php, line: 669, function: runRouteWithinStack, class: Illuminate\Routing\Router, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php, line: 635, function: runRoute, class: Illuminate\Routing\Router, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php, line: 624, function: dispatchToRoute, class: Illuminate\Routing\Router, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php, line: 166, function: dispatch, class: Illuminate\Routing\Router, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 128, function: 'Illuminate\Foundation\Http\{closure}', class: Illuminate\Foundation\Http\Kernel, type: '->' }, { file: /usr/share/nginx/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php, line: 60, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Barryvdh\Debugbar\Middleware\InjectDebugbar, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php, line: 21, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Foundation\Http\Middleware\TransformsRequest, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php, line: 21, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Foundation\Http\Middleware\TransformsRequest, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php, line: 27, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Foundation\Http\Middleware\ValidatePostSize, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php, line: 87, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance, type: '->' }, { file: /usr/share/nginx/html/vendor/fruitcake/laravel-cors/src/HandleCors.php, line: 57, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Fruitcake\Cors\HandleCors, type: '->' }, { file: /usr/share/nginx/html/vendor/fideloper/proxy/src/TrustProxies.php, line: 57, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Fideloper\Proxy\TrustProxies, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 103, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php, line: 141, function: then, class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php, line: 110, function: sendRequestThroughRouter, class: Illuminate\Foundation\Http\Kernel, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 324, function: handle, class: Illuminate\Foundation\Http\Kernel, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 305, function: callLaravelOrLumenRoute, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 76, function: makeApiCall, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 51, function: makeResponseCall, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 41, function: makeResponseCallIfEnabledAndNoSuccessResponses, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Generator.php, line: 236, function: __invoke, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Generator.php, line: 172, function: iterateThroughStrategies, class: Knuckles\Scribe\Extracting\Generator, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Generator.php, line: 127, function: fetchResponses, class: Knuckles\Scribe\Extracting\Generator, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php, line: 119, function: processRoute, class: Knuckles\Scribe\Extracting\Generator, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php, line: 73, function: processRoutes, class: Knuckles\Scribe\Commands\GenerateDocumentation, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php, line: 36, function: handle, class: Knuckles\Scribe\Commands\GenerateDocumentation, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/Util.php, line: 40, function: 'Illuminate\Container\{closure}', class: Illuminate\Container\BoundMethod, type: '::' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php, line: 93, function: unwrapIfClosure, class: Illuminate\Container\Util, type: '::' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php, line: 37, function: callBoundMethod, class: Illuminate\Container\BoundMethod, type: '::' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/Container.php, line: 610, function: call, class: Illuminate\Container\BoundMethod, type: '::' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Console/Command.php, line: 136, function: call, class: Illuminate\Container\Container, type: '->' }, { file: /usr/share/nginx/html/vendor/symfony/console/Command/Command.php, line: 298, function: execute, class: Illuminate\Console\Command, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Console/Command.php, line: 121, function: run, class: Symfony\Component\Console\Command\Command, type: '->' }, { file: /usr/share/nginx/html/vendor/symfony/console/Application.php, line: 1015, function: run, class: Illuminate\Console\Command, type: '->' }, { file: /usr/share/nginx/html/vendor/symfony/console/Application.php, line: 299, function: doRunCommand, class: Symfony\Component\Console\Application, type: '->' }, { file: /usr/share/nginx/html/vendor/symfony/console/Application.php, line: 171, function: doRun, class: Symfony\Component\Console\Application, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Console/Application.php, line: 93, function: run, class: Symfony\Component\Console\Application, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php, line: 129, function: run, class: Illuminate\Console\Application, type: '->' }, { file: /usr/share/nginx/html/artisan, line: 37, function: handle, class: Illuminate\Foundation\Console\Kernel, type: '->' }]
                                properties:
                                    message: { type: string, example: 'Unable to authenticate your request.' }
                                    exception: { type: string, example: Symfony\Component\HttpKernel\Exception\UnauthorizedHttpException }
                                    file: { type: string, example: /usr/share/nginx/html/app/Http/Middleware/AuthWithApiKey.php }
                                    line: { type: integer, example: 30 }
                                    trace: { type: array, example: [{ file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: App\Http\Middleware\AuthWithApiKey, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php, line: 41, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Routing\Middleware\SubstituteBindings, type: '->' }, { file: /usr/share/nginx/html/app/Http/Middleware/ForceJsonResponse.php, line: 20, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: App\Http\Middleware\ForceJsonResponse, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequestsWithRedis.php, line: 65, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php, line: 103, function: handleRequest, class: Illuminate\Routing\Middleware\ThrottleRequestsWithRedis, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Middleware/ThrottleRequests.php, line: 55, function: handleRequestUsingNamedLimiter, class: Illuminate\Routing\Middleware\ThrottleRequests, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Routing\Middleware\ThrottleRequests, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 103, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php, line: 694, function: then, class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php, line: 669, function: runRouteWithinStack, class: Illuminate\Routing\Router, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php, line: 635, function: runRoute, class: Illuminate\Routing\Router, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Routing/Router.php, line: 624, function: dispatchToRoute, class: Illuminate\Routing\Router, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php, line: 166, function: dispatch, class: Illuminate\Routing\Router, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 128, function: 'Illuminate\Foundation\Http\{closure}', class: Illuminate\Foundation\Http\Kernel, type: '->' }, { file: /usr/share/nginx/html/vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php, line: 60, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Barryvdh\Debugbar\Middleware\InjectDebugbar, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php, line: 21, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Foundation\Http\Middleware\TransformsRequest, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php, line: 21, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Foundation\Http\Middleware\TransformsRequest, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php, line: 27, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Foundation\Http\Middleware\ValidatePostSize, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php, line: 87, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance, type: '->' }, { file: /usr/share/nginx/html/vendor/fruitcake/laravel-cors/src/HandleCors.php, line: 57, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Fruitcake\Cors\HandleCors, type: '->' }, { file: /usr/share/nginx/html/vendor/fideloper/proxy/src/TrustProxies.php, line: 57, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 167, function: handle, class: Fideloper\Proxy\TrustProxies, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php, line: 103, function: 'Illuminate\Pipeline\{closure}', class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php, line: 141, function: then, class: Illuminate\Pipeline\Pipeline, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php, line: 110, function: sendRequestThroughRouter, class: Illuminate\Foundation\Http\Kernel, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 324, function: handle, class: Illuminate\Foundation\Http\Kernel, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 305, function: callLaravelOrLumenRoute, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 76, function: makeApiCall, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 51, function: makeResponseCall, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Strategies/Responses/ResponseCalls.php, line: 41, function: makeResponseCallIfEnabledAndNoSuccessResponses, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Generator.php, line: 236, function: __invoke, class: Knuckles\Scribe\Extracting\Strategies\Responses\ResponseCalls, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Generator.php, line: 172, function: iterateThroughStrategies, class: Knuckles\Scribe\Extracting\Generator, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Extracting/Generator.php, line: 127, function: fetchResponses, class: Knuckles\Scribe\Extracting\Generator, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php, line: 119, function: processRoute, class: Knuckles\Scribe\Extracting\Generator, type: '->' }, { file: /usr/share/nginx/html/vendor/knuckleswtf/scribe/src/Commands/GenerateDocumentation.php, line: 73, function: processRoutes, class: Knuckles\Scribe\Commands\GenerateDocumentation, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php, line: 36, function: handle, class: Knuckles\Scribe\Commands\GenerateDocumentation, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/Util.php, line: 40, function: 'Illuminate\Container\{closure}', class: Illuminate\Container\BoundMethod, type: '::' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php, line: 93, function: unwrapIfClosure, class: Illuminate\Container\Util, type: '::' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php, line: 37, function: callBoundMethod, class: Illuminate\Container\BoundMethod, type: '::' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Container/Container.php, line: 610, function: call, class: Illuminate\Container\BoundMethod, type: '::' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Console/Command.php, line: 136, function: call, class: Illuminate\Container\Container, type: '->' }, { file: /usr/share/nginx/html/vendor/symfony/console/Command/Command.php, line: 298, function: execute, class: Illuminate\Console\Command, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Console/Command.php, line: 121, function: run, class: Symfony\Component\Console\Command\Command, type: '->' }, { file: /usr/share/nginx/html/vendor/symfony/console/Application.php, line: 1015, function: run, class: Illuminate\Console\Command, type: '->' }, { file: /usr/share/nginx/html/vendor/symfony/console/Application.php, line: 299, function: doRunCommand, class: Symfony\Component\Console\Application, type: '->' }, { file: /usr/share/nginx/html/vendor/symfony/console/Application.php, line: 171, function: doRun, class: Symfony\Component\Console\Application, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Console/Application.php, line: 93, function: run, class: Symfony\Component\Console\Application, type: '->' }, { file: /usr/share/nginx/html/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php, line: 129, function: run, class: Illuminate\Console\Application, type: '->' }, { file: /usr/share/nginx/html/artisan, line: 37, function: handle, class: Illuminate\Foundation\Console\Kernel, type: '->' }], items: { type: object } }
            tags:
                - Media
            security: []
        parameters:
            -
                in: path
                name: id
                description: ''
                example: nostrum
                required: true
                schema:
                    type: string
    /api/v1/messages/send-contact-message:
        post:
            summary: 'Send contact message'
            description: 'Send WhatsApp contact'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                contacts:
                                    type: array
                                    description: ''
                                    example: [[]]
                                    items: { type: object, properties: { addresses: { type: array, description: '', example: [molestiae], items: { type: string } }, name: { type: object, description: '', example: [], properties: { formatted_name: { type: string, description: '', example: pariatur } } }, birthday: { type: string, description: '', example: beatae }, emails: { type: array, description: '', example: [et], items: { type: string } }, org: { type: array, description: '', example: [velit], items: { type: string } }, phones: { type: array, description: '', example: [aut], items: { type: string } }, urls: { type: array, description: '', example: [non], items: { type: string } } } }
                            required:
                                - wa_id
    /api/v1/messages/send-location-message:
        post:
            summary: 'Send location message'
            description: 'Share static location by GPS coordinate'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                latitude:
                                    type: number
                                    description: 'Latitude of GPS coordinates.'
                                    example: 37.758056
                                longitude:
                                    type: number
                                    description: 'Longitute of GPS coordinates.'
                                    example: -122.425332
                                name:
                                    type: string
                                    description: 'Location name.'
                                    example: Facebook
                                address:
                                    type: string
                                    description: 'Location address.'
                                    example: '1 Hacker Way, Menlo Park, CA 94025'
                            required:
                                - wa_id
                                - latitude
                                - longitude
    /api/v1/messages/send-media-message:
        post:
            summary: 'Send media message'
            description: 'Send a media message including audio, document, image, sticker, and video.'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                type:
                                    type: string
                                    description: 'Message type. The value must be one of <code>audio</code>, <code>contact</code>, <code>document</code>, <code>image</code>, <code>location</code>, <code>sticker</code>, or <code>video</code>.'
                                    example: image
                                link:
                                    type: string
                                    description: 'Public URL of your media file. The value must be a valid URL.'
                                    example: 'https://www.google.com/images/branding/googlelogo/2x/googlelogo_color_92x30dp.png'
                            required:
                                - wa_id
                                - type
                                - link
    /api/v1/messages/send-template-message:
        post:
            summary: 'Send template message'
            description: 'in order to send a template message, you have to propose a template first depends on your business needed.'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                template_id:
                                    type: string
                                    description: 'Message Template Id.'
                                    example: 60243665e4058d3b4a377bd2
                                components:
                                    type: array
                                    description: 'Message Components like header, body and footer depends on your template component.'
                                    example: [{ type: body, parameters: [{ type: text, text: 'Agus Santoso' }] }, { type: header, parameters: [{ type: text, text: 'PT. IVOSIGHTS' }] }]
                                    items: { type: string }
                            required:
                                - wa_id
                                - template_id
    /api/v1/messages/send-text-message:
        post:
            summary: 'Send text message'
            description: 'Send a common text message'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                text:
                                    type: string
                                    description: 'Message content (max 4096 characters).'
                                    example: hello
                            required:
                                - wa_id
                                - text
    /api/v1/messages/send-reply-button-message:
        post:
            summary: 'Send reply button message'
            description: 'Interactive message in reply button formar'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                header:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { type: { type: string, description: 'Header Type The value must be one of <code>text</code>, <code>video</code>, <code>image</code>, or <code>document</code>.', example: image }, text: { type: Field, description: 'is required when the header.type is text.', example: null }, link: { type: string, description: 'Media URL The value must be a valid URL.', example: 'https://ivosights.com/images/logo-ivosights.png' }, filename: { type: Field, description: 'is optional, can be used to give a filename when header.type is a document.', example: null } }
                                body:
                                    type: string
                                    description: 'Message body.'
                                    example: 'PT. Ivonesia Solusi Data Understand, engage, and delight your customers with our award-winning platforms. Want to know more?'
                                footer:
                                    type: string
                                    description: 'Message footer.'
                                    example: Ivosigths
                                action:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { buttons: { type: array, description: '', example: [[]], items: { type: object, properties: { id: { type: string, description: 'Button id.', example: 'yes' }, title: { type: string, description: 'Button title.', example: 'Yes' } } } } }
                            required:
                                - wa_id
                                - body
    /api/v1/messages/send-list-message:
        post:
            summary: 'Send list message'
            description: 'Interactive message in list format'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                header:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { type: { type: string, description: 'The value must be one of <code>text</code>, <code>video</code>, <code>image</code>, or <code>document</code>.', example: document }, text: { type: string, description: 'Header text.', example: 'Pesan Interaktif' }, link: { type: string, description: 'The value must be a valid URL.', example: 'https://daugherty.info/excepturi-est-eligendi-et-quia-et.html' }, filename: { type: string, description: '', example: quos } }
                                body:
                                    type: string
                                    description: 'Message body.'
                                    example: 'Halo... Silahkan pilih platform layanan kami yang ingin anda ketahui lebih lanjut dengan cara menekan tombol dibawah ini.'
                                footer:
                                    type: string
                                    description: 'Message body.'
                                    example: 'PT. Ivonesia Solusi Data'
                                action:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { button: { type: string, description: 'action button title.', example: 'Pilih Platform' }, sections: { type: array, description: '', example: [[]], items: { type: object, properties: { title: { type: string, description: 'Section title.', example: 'Silahkan pilih' }, rows: { type: array, description: '', example: [[]], items: { type: object, properties: { id: { type: string, description: 'Section ID.', example: sociomile }, title: { type: string, description: 'Section title.', example: Sociomile }, description: { type: string, description: 'Section description.', example: 'Omni channel Ticketing Platform' } } } } } } } }
                            required:
                                - wa_id
                                - body
    /api/v1/messages/send-flow-message:
        post:
            summary: 'Send flow message'
            description: 'Interactive message in flow format'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                header:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { type: { type: string, description: 'Header Type The value must be one of <code>text</code>, <code>video</code>, <code>image</code>, or <code>document</code>.', example: image }, text: { type: Field, description: 'is required when the header.type is text.', example: null } }
                                body:
                                    type: string
                                    description: 'Message body.'
                                    example: 'PT. Ivonesia Solusi Data Understand, engage, and delight your customers with our award-winning platforms. Want to know more?'
                                footer:
                                    type: string
                                    description: 'Message footer.'
                                    example: Ivosigths
                                action:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { parameters: { type: object, description: '', example: [], properties: { flow_message_version: { type: string, description: 'The value must be one of <code>3</code>.', example: '3' }, flow_id: { type: string, description: '', example: molestiae }, flow_cta: { type: string, description: '', example: nam }, flow_action: { type: string, description: 'The value must be one of <code>navigate</code> or <code>data_exchange</code>.', example: navigate }, flow_action_payload: { type: array, description: '', example: [cupiditate], items: { type: string } } } } }
                            required:
                                - wa_id
                                - body
    /api/v1/messages/send-single-product-message:
        post:
            summary: 'Send Single Product message'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                body:
                                    type: string
                                    description: 'Message body.'
                                    example: 'Halo... Silahkan pilih platform layanan kami yang ingin anda ketahui lebih lanjut dengan cara menekan tombol dibawah ini.'
                                footer:
                                    type: string
                                    description: 'Message body.'
                                    example: 'PT. Ivonesia Solusi Data'
                                action:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { catalog_id: { type: string, description: 'ID for the catalog you want to use for this message. Retrieve this ID via Commerce Manager.', example: '334921974886139' }, product_retailer_id: { type: string, description: 'A product’s unique identifier.', example: t4jdph7mgc } }
                            required:
                                - wa_id
    /api/v1/messages/send-multi-product-message:
        post:
            summary: 'Send Multi-Product message'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    messages: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }]
                                properties:
                                    messages: { type: array, example: [{ id: gBEGkYiEB1VXAglK1ZEqA1YKPrU }], items: { type: object } }
            tags:
                - Message
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                wa_id:
                                    type: string
                                    description: 'WhatsApp ID (it a phone number including country code prefix).'
                                    example: '628123456789'
                                header:
                                    type: string
                                    description: ''
                                    example: sit
                                body:
                                    type: string
                                    description: 'Message body.'
                                    example: 'Halo... Silahkan pilih platform layanan kami yang ingin anda ketahui lebih lanjut dengan cara menekan tombol dibawah ini.'
                                footer:
                                    type: string
                                    description: 'Message body.'
                                    example: 'PT. Ivonesia Solusi Data'
                                action:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { catalog_id: { type: string, description: 'ID for the catalog you want to use for this message. Retrieve this ID via Commerce Manager.', example: '334921974886139' }, sections: { type: array, description: '', example: [[]], items: { type: object, properties: { title: { type: string, description: '', example: omnis }, product_items: { type: array, description: '', example: [[]], items: { type: object, properties: { product_retailer_id: { type: string, description: '', example: {  } } } } } } } } }
                            required:
                                - wa_id
                                - header
                                - body
    '/api/v1/messages/{messageId}/read':
        put:
            summary: 'Mark Message as Read'
            description: 'Mark a received message within a conversation as read'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        text/plain:
                            schema:
                                type: string
                                example: "null\n"
            tags:
                - Message
        parameters:
            -
                in: path
                name: messageId
                description: 'Optional parameter. Message ID is obtained from the response body after sending a message.'
                required: true
                schema:
                    type: string
                examples:
                    omitted:
                        summary: 'When the value is omitted'
                        value: ''
                    present:
                        summary: 'When the value is present'
                        value: gBEGkYiEB1VXAglK1ZEqA1YKPrU
    /api/v1/message-templates:
        get:
            summary: 'Fetch My Templates'
            description: 'Use this endpoint to retrieve all message templates assigned to your WhatsApp Account'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 60243665e4058d3b4a377bd2, label: 'New Project Setup Notification', template_name: new_project_setup_notification, template_id: 408466377096510, status: approved, category_id: ACCOUNT_UPDATE, language_id: id, components: [{ type: HEADER, format: TEXT, text: 'Notifikasi Akun {{1}}', parameters: { '{{1}}': null } }, { type: BODY, text: "Halo {{1}}, Terimakasih telah menggunakan layanan Kami.\nAkun WhatsApp Business Anda sudah siap untuk digunakan.\nSilahkan login ke halaman dashboard untuk informasi lebih lanjut.", parameters: { '{{1}}': null } }, { type: FOOTER, text: Ivosights, parameters: [] }, { type: BUTTONS, buttons: [{ type: URL, text: Website, url: 'https://ivosights.com' }, { type: PHONE_NUMBER, text: Bantuan, phone_number: '+622122902218' }] }], histories: [], created_at: '2021-05-10T05:13:23.843000Z', updated_at: '2021-05-10T05:13:23.843000Z' }]
                                    meta: { pagination: { total: 1, count: 1, per_page: 15, current_page: 1, total_pages: 1, links: {  } } }
                                properties:
                                    data: { type: array, example: [{ id: 60243665e4058d3b4a377bd2, label: 'New Project Setup Notification', template_name: new_project_setup_notification, template_id: 408466377096510, status: approved, category_id: ACCOUNT_UPDATE, language_id: id, components: [{ type: HEADER, format: TEXT, text: 'Notifikasi Akun {{1}}', parameters: { '{{1}}': null } }, { type: BODY, text: "Halo {{1}}, Terimakasih telah menggunakan layanan Kami.\nAkun WhatsApp Business Anda sudah siap untuk digunakan.\nSilahkan login ke halaman dashboard untuk informasi lebih lanjut.", parameters: { '{{1}}': null } }, { type: FOOTER, text: Ivosights, parameters: [] }, { type: BUTTONS, buttons: [{ type: URL, text: Website, url: 'https://ivosights.com' }, { type: PHONE_NUMBER, text: Bantuan, phone_number: '+622122902218' }] }], histories: [], created_at: '2021-05-10T05:13:23.843000Z', updated_at: '2021-05-10T05:13:23.843000Z' }], items: { type: object } }
                                    meta: { type: object, example: { pagination: { total: 1, count: 1, per_page: 15, current_page: 1, total_pages: 1, links: {  } } } }
            tags:
                - 'Message Template'
        post:
            summary: 'Create template'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - 'Message Template'
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                label:
                                    type: string
                                    description: 'Template label, it''s template name. make a descriptif label based on message content.'
                                    example: 'New Project Setup Notification'
                                category_id:
                                    type: string
                                    description: 'A message tempate should belongs to a right category. The value must be one of <code>UTILITY</code>, <code>MARKETING</code>, or <code>AUTHENTICATION</code>.'
                                    example: UTILITY
                                language_id:
                                    type: string
                                    description: 'ISO code for template language. The value must be one of <code>af</code>, <code>sq</code>, <code>ar</code>, <code>az</code>, <code>bn</code>, <code>bg</code>, <code>ca</code>, <code>zh_CN</code>, <code>zh_HK</code>, <code>zh_TW</code>, <code>hr</code>, <code>cs</code>, <code>da</code>, <code>nl</code>, <code>en</code>, <code>en_GB</code>, <code>en_US</code>, <code>et</code>, <code>fil</code>, <code>fi</code>, <code>fr</code>, <code>de</code>, <code>el</code>, <code>gu</code>, <code>ha</code>, <code>he</code>, <code>hi</code>, <code>hu</code>, <code>id</code>, <code>ga</code>, <code>it</code>, <code>ja</code>, <code>kn</code>, <code>kk</code>, <code>ko</code>, <code>lo</code>, <code>lv</code>, <code>lt</code>, <code>mk</code>, <code>ms</code>, <code>ml</code>, <code>mr</code>, <code>nb</code>, <code>fa</code>, <code>pl</code>, <code>pt_BR</code>, <code>pt_PT</code>, <code>pa</code>, <code>ro</code>, <code>ru</code>, <code>sr</code>, <code>sk</code>, <code>sl</code>, <code>es</code>, <code>es_AR</code>, <code>es_ES</code>, <code>es_MX</code>, <code>sw</code>, <code>sv</code>, <code>ta</code>, <code>te</code>, <code>th</code>, <code>tr</code>, <code>uk</code>, <code>ur</code>, <code>uz</code>, <code>vi</code>, or <code>zu</code>.'
                                    example: id
                                is_propose:
                                    type: boolean
                                    description: 'Propose means your template will be proposed to Ivosights team for approval before submitted to WhatsApp. default: false.'
                                    example: false
                                is_submit:
                                    type: boolean
                                    description: ''
                                    example: false
                                header:
                                    type: object
                                    description: 'Message header'
                                    example: []
                                    properties: { format: { type: string, description: 'Accepted header format: text, video, image, or document. The value must be one of <code>TEXT</code>, <code>DOCUMENT</code>, <code>IMAGE</code>, or <code>VIDEO</code>.', example: TEXT } }
                                body:
                                    type: object
                                    description: 'Message body'
                                    example: []
                                    properties: { text: { type: string, description: 'Message body is where you put your message context.', example: 'Halo {{1}}, Terimakasih telah menggunakan layanan Kami. Akun WhatsApp Business Anda sudah siap untuk digunakan. Silahkan login ke halaman dashboard untuk informasi lebih lanjut.' }, examples: { type: array, description: 'Body examples.', example: [Salsabila, Aqilah], items: { type: string } } }
                                footer:
                                    type: string
                                    description: 'Footer is used when you need to add additional text at the bottom of your message template.'
                                    example: Ivosights
                                buttons:
                                    type: array
                                    description: 'Additional action buttons'
                                    example: [[], []]
                                    items: { type: object, properties: { type: { type: string, description: 'Button Type. The value must be one of <code>PHONE_NUMBER</code>, <code>URL</code>, <code>QUICK_REPLY</code>, or <code>FLOW</code>.', example: URL }, text: { type: string, description: 'Button label.', example: Website }, phone_number: { type: string, description: 'This parameter is required if buttons.type is PHONE_NUMBER.', example: '+622122902218' }, flow_id: { type: string, description: '', example: {  } }, flow_action: { type: string, description: 'The value must be one of <code>navigate</code> or <code>data_exchange</code>.', example: navigate }, navigate_screen: { type: string, description: '', example: {  } }, url: { type: string, description: 'This parameter is required if buttons.type is URL.', example: 'https://ivosights.com/' }, example: { type: array, description: '', example: [labore, autem], items: { type: string } } } }
                                otp:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { otp_type: { type: string, description: '', example: {  } }, text: { type: string, description: '', example: {  } }, autofill_text: { type: string, description: '', example: {  } }, package_name: { type: string, description: '', example: {  } }, signature_hash: { type: string, description: '', example: {  } } }
                                code_expiration_minutes:
                                    type: string
                                    description: ''
                                    example: {  }
                                add_security_recommendation:
                                    type: string
                                    description: ''
                                    example: {  }
                                department_ids:
                                    type: array
                                    description: ''
                                    example: [qui]
                                    items: { type: string }
                            required:
                                - label
                                - category_id
                                - language_id
    /api/v1/message-templates/all-templates:
        get:
            summary: 'Fetch All Templates'
            description: 'This endpoint is used to show all available templates related to your WhatsApp Account'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 60243665e4058d3b4a377bd2, label: 'New Project Setup Notification', template_name: new_project_setup_notification, template_id: 408466377096510, status: approved, category_id: ACCOUNT_UPDATE, language_id: id, components: [{ type: HEADER, format: TEXT, text: 'Notifikasi Akun {{1}}', parameters: { '{{1}}': null } }, { type: BODY, text: "Halo {{1}}, Terimakasih telah menggunakan layanan Kami.\nAkun WhatsApp Business Anda sudah siap untuk digunakan.\nSilahkan login ke halaman dashboard untuk informasi lebih lanjut.", parameters: { '{{1}}': null } }, { type: FOOTER, text: Ivosights, parameters: [] }, { type: BUTTONS, buttons: [{ type: URL, text: Website, url: 'https://ivosights.com' }, { type: PHONE_NUMBER, text: Bantuan, phone_number: '+622122902218' }] }], histories: [], created_at: '2021-05-10T05:13:23.843000Z', updated_at: '2021-05-10T05:13:23.843000Z' }, { id: 60243665e4058d3b4a377bce, label: 'Issue Resolve', template_name: issue_resolve, template_id: 3569517459822920, status: approved, category_id: ISSUE_RESOLUTION, language_id: id, components: [{ type: BODY, text: 'Permasalahan {{1}} telah terselesaikan. Jika Anda masih mengalami kendala, beri tahu kami melalui whatsapp ini. Kami senang dapat melayani Anda.', examples: ['Permasalahan #21 telah terselesaikan. Jika Anda masih mengalami kendala, beri tahu kami melalui whatsapp ini. Kami senang dapat melayani Anda'], parameters: { '{{1}}': null } }], histories: [], created_at: '2021-05-10T05:13:23.808000Z', updated_at: '2021-05-10T05:13:23.808000Z' }]
                                    meta: { pagination: { total: 2, count: 2, per_page: 15, current_page: 1, total_pages: 1, links: {  } } }
                                properties:
                                    data: { type: array, example: [{ id: 60243665e4058d3b4a377bd2, label: 'New Project Setup Notification', template_name: new_project_setup_notification, template_id: 408466377096510, status: approved, category_id: ACCOUNT_UPDATE, language_id: id, components: [{ type: HEADER, format: TEXT, text: 'Notifikasi Akun {{1}}', parameters: { '{{1}}': null } }, { type: BODY, text: "Halo {{1}}, Terimakasih telah menggunakan layanan Kami.\nAkun WhatsApp Business Anda sudah siap untuk digunakan.\nSilahkan login ke halaman dashboard untuk informasi lebih lanjut.", parameters: { '{{1}}': null } }, { type: FOOTER, text: Ivosights, parameters: [] }, { type: BUTTONS, buttons: [{ type: URL, text: Website, url: 'https://ivosights.com' }, { type: PHONE_NUMBER, text: Bantuan, phone_number: '+622122902218' }] }], histories: [], created_at: '2021-05-10T05:13:23.843000Z', updated_at: '2021-05-10T05:13:23.843000Z' }, { id: 60243665e4058d3b4a377bce, label: 'Issue Resolve', template_name: issue_resolve, template_id: 3569517459822920, status: approved, category_id: ISSUE_RESOLUTION, language_id: id, components: [{ type: BODY, text: 'Permasalahan {{1}} telah terselesaikan. Jika Anda masih mengalami kendala, beri tahu kami melalui whatsapp ini. Kami senang dapat melayani Anda.', examples: ['Permasalahan #21 telah terselesaikan. Jika Anda masih mengalami kendala, beri tahu kami melalui whatsapp ini. Kami senang dapat melayani Anda'], parameters: { '{{1}}': null } }], histories: [], created_at: '2021-05-10T05:13:23.808000Z', updated_at: '2021-05-10T05:13:23.808000Z' }], items: { type: object } }
                                    meta: { type: object, example: { pagination: { total: 2, count: 2, per_page: 15, current_page: 1, total_pages: 1, links: {  } } } }
            tags:
                - 'Message Template'
    '/api/v1/message-templates/{id}':
        get:
            summary: 'Show template'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    id: 60243665e4058d3b4a377bd2
                                    label: 'New Project Setup Notification'
                                    template_name: new_project_setup_notification
                                    template_id: 408466377096510
                                    status: approved
                                    category_id: ACCOUNT_UPDATE
                                    language_id: id
                                    components: [{ type: HEADER, format: TEXT, text: 'Notifikasi Akun {{1}}', parameters: { '{{1}}': null } }, { type: BODY, text: "Halo {{1}}, Terimakasih telah menggunakan layanan Kami.\nAkun WhatsApp Business Anda sudah siap untuk digunakan.\nSilahkan login ke halaman dashboard untuk informasi lebih lanjut.", parameters: { '{{1}}': null } }, { type: FOOTER, text: Ivosights, parameters: [] }, { type: BUTTONS, buttons: [{ type: URL, text: Website, url: 'https://ivosights.com' }, { type: PHONE_NUMBER, text: Bantuan, phone_number: '+622122902218' }] }]
                                    histories: []
                                    created_at: '2021-05-10T05:13:23.843000Z'
                                    updated_at: '2021-05-10T05:13:23.843000Z'
                                properties:
                                    id: { type: string, example: 60243665e4058d3b4a377bd2 }
                                    label: { type: string, example: 'New Project Setup Notification' }
                                    template_name: { type: string, example: new_project_setup_notification }
                                    template_id: { type: integer, example: 408466377096510 }
                                    status: { type: string, example: approved }
                                    category_id: { type: string, example: ACCOUNT_UPDATE }
                                    language_id: { type: string, example: id }
                                    components: { type: array, example: [{ type: HEADER, format: TEXT, text: 'Notifikasi Akun {{1}}', parameters: { '{{1}}': null } }, { type: BODY, text: "Halo {{1}}, Terimakasih telah menggunakan layanan Kami.\nAkun WhatsApp Business Anda sudah siap untuk digunakan.\nSilahkan login ke halaman dashboard untuk informasi lebih lanjut.", parameters: { '{{1}}': null } }, { type: FOOTER, text: Ivosights, parameters: [] }, { type: BUTTONS, buttons: [{ type: URL, text: Website, url: 'https://ivosights.com' }, { type: PHONE_NUMBER, text: Bantuan, phone_number: '+622122902218' }] }], items: { type: object } }
                                    histories: { type: array, example: [] }
                                    created_at: { type: string, example: '2021-05-10T05:13:23.843000Z' }
                                    updated_at: { type: string, example: '2021-05-10T05:13:23.843000Z' }
            tags:
                - 'Message Template'
        put:
            summary: 'Update template'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - 'Message Template'
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                label:
                                    type: string
                                    description: 'Template label, it''s template name. make a descriptif label based on message content.'
                                    example: 'New Project Setup Notification'
                                category_id:
                                    type: string
                                    description: 'A message tempate should belongs to a right category. The value must be one of <code>UTILITY</code>, <code>MARKETING</code>, or <code>AUTHENTICATION</code>.'
                                    example: UTILITY
                                language_id:
                                    type: string
                                    description: 'ISO code for template language. The value must be one of <code>af</code>, <code>sq</code>, <code>ar</code>, <code>az</code>, <code>bn</code>, <code>bg</code>, <code>ca</code>, <code>zh_CN</code>, <code>zh_HK</code>, <code>zh_TW</code>, <code>hr</code>, <code>cs</code>, <code>da</code>, <code>nl</code>, <code>en</code>, <code>en_GB</code>, <code>en_US</code>, <code>et</code>, <code>fil</code>, <code>fi</code>, <code>fr</code>, <code>de</code>, <code>el</code>, <code>gu</code>, <code>ha</code>, <code>he</code>, <code>hi</code>, <code>hu</code>, <code>id</code>, <code>ga</code>, <code>it</code>, <code>ja</code>, <code>kn</code>, <code>kk</code>, <code>ko</code>, <code>lo</code>, <code>lv</code>, <code>lt</code>, <code>mk</code>, <code>ms</code>, <code>ml</code>, <code>mr</code>, <code>nb</code>, <code>fa</code>, <code>pl</code>, <code>pt_BR</code>, <code>pt_PT</code>, <code>pa</code>, <code>ro</code>, <code>ru</code>, <code>sr</code>, <code>sk</code>, <code>sl</code>, <code>es</code>, <code>es_AR</code>, <code>es_ES</code>, <code>es_MX</code>, <code>sw</code>, <code>sv</code>, <code>ta</code>, <code>te</code>, <code>th</code>, <code>tr</code>, <code>uk</code>, <code>ur</code>, <code>uz</code>, <code>vi</code>, or <code>zu</code>.'
                                    example: id
                                is_propose:
                                    type: boolean
                                    description: 'Propose means your template will be proposed to Ivosights team for approval before submitted to WhatsApp. default: false.'
                                    example: false
                                is_submit:
                                    type: boolean
                                    description: ''
                                    example: false
                                header:
                                    type: object
                                    description: 'Header is used when you need to add additional header on a message template.'
                                    example: []
                                    properties: { format: { type: string, description: 'Accepted header format: text, video, image, or document. The value must be one of <code>TEXT</code>, <code>DOCUMENT</code>, <code>IMAGE</code>, or <code>VIDEO</code>.', example: TEXT } }
                                body:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { text: { type: string, description: 'Message body is where you put your message context.', example: 'Halo {{1}}, Terimakasih telah menggunakan layanan Kami. Akun WhatsApp Business Anda sudah siap untuk digunakan. Silahkan login ke halaman dashboard untuk informasi lebih lanjut.' }, examples: { type: array, description: 'Body examples.', example: [Salsabila, Aqilah], items: { type: string } } }
                                footer:
                                    type: string
                                    description: 'Footer is used when you need to add additional text at the bottom of your message template.'
                                    example: Ivosights
                                buttons:
                                    type: array
                                    description: ''
                                    example: [[]]
                                    items: { type: object, properties: { type: { type: string, description: 'Button Type. The value must be one of <code>PHONE_NUMBER</code>, <code>URL</code>, or <code>QUICK_REPLY</code>.', example: URL }, text: { type: string, description: 'Button label.', example: Website }, phone_number: { type: string, description: 'This parameter is required if buttons.type is PHONE_NUMBER.', example: '+622122902218' }, url: { type: string, description: 'This parameter is required if buttons.type is URL.', example: 'https://ivosights.com/' }, example: { type: array, description: '', example: [rerum, sit], items: { type: string } } } }
                                otp:
                                    type: object
                                    description: ''
                                    example: []
                                    properties: { otp_type: { type: string, description: '', example: {  } }, text: { type: string, description: '', example: {  } }, autofill_text: { type: string, description: '', example: {  } }, package_name: { type: string, description: '', example: {  } }, signature_hash: { type: string, description: '', example: {  } } }
                                code_expiration_minutes:
                                    type: string
                                    description: ''
                                    example: {  }
                                add_security_recommendation:
                                    type: string
                                    description: ''
                                    example: {  }
                                department_ids:
                                    type: array
                                    description: ''
                                    example: [fugiat]
                                    items: { type: string }
                            required:
                                - label
                                - category_id
                                - language_id
        parameters:
            -
                in: path
                name: id
                description: 'Template ID'
                example: 60243665e4058d3b4a377bd2
                required: true
                schema:
                    type: string
    '/api/v1/message-templates/{id}/propose':
        post:
            summary: 'Propose template'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - 'Message Template'
        parameters:
            -
                in: path
                name: id
                description: ''
                example: provident
                required: true
                schema:
                    type: string
    /api/v1/template-categories:
        get:
            summary: 'Template category'
            description: 'Fetch WhatsApp Message Template Categories'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: TRANSACTIONAL, name: Transactional }, { id: MARKETING, name: Marketing }, { id: OTP, name: 'One Time Password' }]
                                properties:
                                    data: { type: array, example: [{ id: TRANSACTIONAL, name: Transactional }, { id: MARKETING, name: Marketing }, { id: OTP, name: 'One Time Password' }], items: { type: object } }
            tags:
                - 'Message Template'
    /api/v1/template-languages:
        get:
            summary: 'Template Language'
            description: 'Fetch all supported languages for handling WhatsApp message template'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: id, name: Indonesian }, { id: ga, name: Irish }, { id: it, name: Italian }]
                                properties:
                                    data: { type: array, example: [{ id: id, name: Indonesian }, { id: ga, name: Irish }, { id: it, name: Italian }], items: { type: object } }
            tags:
                - 'Message Template'
    /api/v1/settings/business-profile:
        get:
            summary: 'WhatsApp business profile'
            description: 'Fetch WhatsApp profile info such as business address, business description etc.'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    settings: { business: { profile: { address: 'Jl. Tebet Barat I No.2, RT.1/RW.2, Tebet Bar., Kec. Tebet, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12810', description: 'A Series of Platforms to Engage Your Customers', email: hello@ivosights.com, vertical: 'Professional Services', websites: ['https://ivosigths.com'] } } }
                                    meta: { api_status: stable, version: 2.33.3 }
                                properties:
                                    settings: { type: object, example: { business: { profile: { address: 'Jl. Tebet Barat I No.2, RT.1/RW.2, Tebet Bar., Kec. Tebet, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12810', description: 'A Series of Platforms to Engage Your Customers', email: hello@ivosights.com, vertical: 'Professional Services', websites: ['https://ivosigths.com'] } } } }
                                    meta: { type: object, example: { api_status: stable, version: 2.33.3 } }
            tags:
                - Setting
        post:
            summary: 'Update WhatsApp business profile'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    meta: { api_status: stable, version: 2.33.3 }
                                properties:
                                    meta: { type: object, example: { api_status: stable, version: 2.33.3 } }
            tags:
                - Setting
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                address:
                                    type: string
                                    description: 'Business address.'
                                    example: 'Jl. Tebet Barat I No.2, RT.1\/RW.2, Tebet Bar., Kec. Tebet, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12810'
                                description:
                                    type: string
                                    description: 'Short description about your business.'
                                    example: 'A Series of Platforms to Engage Your Customers'
                                email:
                                    type: string
                                    description: 'Official email address The value must be a valid email address.'
                                    example: hello@ivosights.com
                                vertical:
                                    type: string
                                    description: 'Business category. The value must be one of <code>Automotive</code>, <code>Beauty, Spa and Salon</code>, <code>Clothing and Apparel</code>, <code>Education</code>, <code>Entertainment</code>, <code>Event Planning and Service</code>, <code>Finance and Banking</code>, <code>Food and Grocery</code>, <code>Public Service</code>, <code>Hotel and Lodging</code>, <code>Medical and Health</code>, <code>Non-profit</code>, <code>Professional Services</code>, <code>Shopping and Retail</code>, <code>Travel and Transportation</code>, <code>Restaurant</code>, or <code>Other</code>.'
                                    example: 'Professional Services'
                                websites:
                                    type: array
                                    description: 'URL  The value must be a valid URL.'
                                    example: ['https://www.ivosigths.com']
                                    items: { type: string }
                            required:
                                - vertical
    /api/v1/settings/profiles/about:
        get:
            summary: 'WhatsApp profile about text'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    settings: { profile: { about: { text: 'Halo Dunia..' } } }
                                    meta: { api_status: stable, version: 2.33.3 }
                                properties:
                                    settings: { type: object, example: { profile: { about: { text: 'Halo Dunia..' } } } }
                                    meta: { type: object, example: { api_status: stable, version: 2.33.3 } }
            tags:
                - Setting
        patch:
            summary: 'Update WhatsApp profile about text'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    meta: { api_status: stable, version: 2.33.3 }
                                properties:
                                    meta: { type: object, example: { api_status: stable, version: 2.33.3 } }
            tags:
                - Setting
            requestBody:
                required: true
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                text:
                                    type: string
                                    description: 'Text content / status message.'
                                    example: 'Hello.. we are using WhatsApp Business Account'
                            required:
                                - text
    /api/v1/settings/profiles/photo:
        get:
            summary: 'Get WhatsApp profile photo'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    settings: { profile: { photo: { link: 'https://pps.whatsapp.net/v/t61.24694-24/s96x96/139790548_239531290984431_572068075107398585_n.jpg?ccb=11-4&oh=78a0cdfaf9c1ec35d6cc8c6c6e5628eb&oe=609A20F5' } } }
                                    meta: { api_status: stable, version: 2.33.3 }
                                properties:
                                    settings: { type: object, example: { profile: { photo: { link: 'https://pps.whatsapp.net/v/t61.24694-24/s96x96/139790548_239531290984431_572068075107398585_n.jpg?ccb=11-4&oh=78a0cdfaf9c1ec35d6cc8c6c6e5628eb&oe=609A20F5' } } } }
                                    meta: { type: object, example: { api_status: stable, version: 2.33.3 } }
            tags:
                - Setting
            requestBody:
                required: false
                content:
                    application/json:
                        schema:
                            type: object
                            properties:
                                format:
                                    type: string
                                    description: ''
                                    example: link
        post:
            summary: 'Update WhatsApp profile photo'
            description: ''
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: multipart/form-data
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - Setting
            requestBody:
                required: true
                content:
                    multipart/form-data:
                        schema:
                            type: object
                            properties:
                                photo:
                                    type: string
                                    format: binary
                                    description: 'WhatsApp profile picture. with max fize up to: 5Mb. The value must be a file.'
                            required:
                                - photo
    /api/v1/webhooks:
        get:
            summary: 'Fetch webhook endpoint'
            description: 'Fetch all your webhooks endpoint'
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses:
                200:
                    description: '200'
                    content:
                        application/json:
                            schema:
                                type: object
                                example:
                                    data: [{ id: 6098c0f34dae5677e2636a5c, name: 'App Webhook', url: 'http://webhook.me/ea2f63e6-7583-4b82-9fa6-1bba131e6d93', events: [], headers: [], status: 'off', http_auth: { status: 'on', username: user, password: password } }]
                                properties:
                                    data: { type: array, example: [{ id: 6098c0f34dae5677e2636a5c, name: 'App Webhook', url: 'http://webhook.me/ea2f63e6-7583-4b82-9fa6-1bba131e6d93', events: [], headers: [], status: 'off', http_auth: { status: 'on', username: user, password: password } }], items: { type: object } }
            tags:
                - Webhook
    '/api/v1/webhooks/{webhookId}/pull-pending-notifications':
        get:
            summary: 'Pull pending notification'
            description: "webhook delivery is marking as delivered to your endpoing when we get HTTP response code 200 or 201, otherwise we mark it as failed.<br/><br/>\nNormally we will try to deliver webhook notification to your endpoint in 3 times.\nafter 3 failed attempts, we will mark a notification as failed.\nin this case, you should pull it manually to get all pending/failed notifitions."
            parameters:
                -
                    in: header
                    name: X-API-KEY
                    description: ''
                    example: '{YOUR_API_KEY}'
                    schema:
                        type: string
                -
                    in: header
                    name: Content-Type
                    description: ''
                    example: application/json
                    schema:
                        type: string
                -
                    in: header
                    name: Accept
                    description: ''
                    example: application/json
                    schema:
                        type: string
            responses: {  }
            tags:
                - Webhook
        parameters:
            -
                in: path
                name: webhookId
                description: 'Webhook ID'
                example: 60243665e4058d3b4a377bd2
                required: true
                schema:
                    type: string
components:
    securitySchemes:
        default:
            type: apiKey
            name: X-API-KEY
            in: header
            description: ''
security:
    -
        default: []
