openapi: 3.0.0
info:
  title: Multion
  version: 1.0.0
servers:
  - url: http://{{server_url}}
  - url: http://{{remote_url}}
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
tags:
  - name: webapp extension
  - name: Webapp remote session
  - name: Restaurant
  - name: multion-remote
paths:
  /public/api/v1/status:
    get:
      tags:
        - webapp extension
      summary: status
      security:
        - bearerAuth: []
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: X_MULTION_API_KEY
          in: header
          schema:
            type: string
          example: '{{X_MULTION_API_KEY}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /public/api/v1/sessions:
    get:
      tags:
        - webapp extension
      summary: sessions
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: X_MULTION_API_KEY
          in: header
          schema:
            type: string
          example: '{{X_MULTION_API_KEY}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /public/api/v1/session:
    post:
      tags:
        - Webapp remote session
      summary: Create session
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n  \"url\": \"https://www.google.com\"\n//  
                \"optional_params\": {\n//       \"server_url\":
                \"http://localhost:3005\"\n//   }\n}"
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: X_MULTION_API_KEY
          in: header
          schema:
            type: string
          example: '{{X_MULTION_API_KEY}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /public/api/v1/session/2019020843:
    post:
      tags:
        - webapp extension
      summary: Update session
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n  \"input\": \"whats the weather in australia\",\n  \"url\":
                \"https://www.google.com\"\n}"
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: X_MULTION_API_KEY
          in: header
          schema:
            type: string
          example: '{{X_MULTION_API_KEY}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /public/api/v1/session/2019014573:
    delete:
      tags:
        - webapp extension
      summary: Delete session
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: X_MULTION_API_KEY
          in: header
          schema:
            type: string
          example: 373b8a07c9354eef9c379c2330242432
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v1/publish:
    post:
      tags:
        - webapp extension
      summary: publish
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n  \"channel\": \"mychannel\",\n  \"event\": \"myevent\",\n 
                \"message\": \"{\\\"msg\\\": \\\"hello from postman2\\\"}\"\n}"
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v1/api-limit-increase:
    post:
      tags:
        - webapp extension
      summary: api-limit-increase
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n    \"userId\": \"cls1hjqjd00004enqgohyclng\",\n   
                \"reason\": \"blah blah\",\n    \"requestedLimit\": 2000\n}"
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /public/api/v1/streamVideo/12:
    post:
      tags:
        - webapp extension
      summary: streamVideo
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n  \"channel\": \"mychannel\",\n  \"event\": \"myevent\",\n 
                \"message\": \"{\\\"msg\\\": \\\"hello from postman2\\\"}\"\n}"
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /public/api/v1/is_remote:
    post:
      tags:
        - Webapp remote session
      summary: is_remote
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: '"{\n  \"value\": true\n}"'
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: X_MULTION_API_KEY
          in: header
          schema:
            type: string
          example: '{{X_MULTION_API_KEY}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /public/api/v1/session/127bfc30-58f3-4115-9fc5-89cba95271f6:
    post:
      tags:
        - Webapp remote session
      summary: Update session
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n    \"input\": \"whats the weather at sf\",\n    \"url\":
                \"https://www.google.com\",\n    \"optional_params\": {},\n   
                \"accessParams\": {}\n}"
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: X_MULTION_API_KEY
          in: header
          schema:
            type: string
          example: '{{X_MULTION_API_KEY}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
    delete:
      tags:
        - Webapp remote session
      summary: Delete session
      parameters:
        - name: accept
          in: header
          schema:
            type: string
          example: application/json
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
        - name: X_MULTION_API_KEY
          in: header
          schema:
            type: string
          example: '{{X_MULTION_API_KEY}}'
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v1/search_text:
    post:
      tags:
        - Restaurant
      summary: search_text
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                textQuery: Evvia
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v1/nearby_places:
    post:
      tags:
        - Restaurant
      summary: nearby_places
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                includedTypes:
                  - restaurant
                maxResultCount: 10
                locationRestriction:
                  circle:
                    center:
                      latitude: 37.7937
                      longitude: -122.3965
                    radius: 500
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v1/restaurantAvailability:
    post:
      tags:
        - Restaurant
      summary: restaurantAvailability
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                sessionId: asfd1
                restaurantName: Evvia Estiatorio
                city: Palo Alto
                date: '2024-01-24'
                time: 8:00 PM
                timezone: GMT-8
                restaurantUrl: >-
                  https://www.google.com/maps/place/Evvia+Estiatorio/@37.4451287,-122.1663742,17z/data=!3m1!4b1!4m6!3m5!1s0x808fbb37673c2507:0x4b12cc71ee9fa7b4!8m2!3d37.4451287!4d-122.1637993!16s%2Fg%2F11b_3g1r91?entry=ttu
                guests: '2'
                placeId: ChIJByU8Zze7j4ARtKef7nHMEks
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /api/v1/bookRestaurant:
    post:
      tags:
        - Restaurant
      summary: bookRestaurant
      requestBody:
        content:
          '*/*':
            schema:
              type: string
              example: >-
                "{\n    \"sessionId\": \"asfd1\",\n    \"url\":
                \"https://www.google.com/maps/place/Evvia+Estiatorio/@37.4451287,-122.1663742,17z/data=!3m1!4b1!4m6!3m5!1s0x808fbb37673c2507:0x4b12cc71ee9fa7b4!8m2!3d37.4451287!4d-122.1637993!16s%2Fg%2F11b_3g1r91?entry=ttu\",\n   
                \"email\": \"kunal@multion.ai\",\n    \"phone\":
                \"8888888888\",\n    \"firstname\": \"kunal\",\n   
                \"lastname\": \"g\",\n    \"time\": \"8:00 PM\"\n}"
      parameters:
        - name: Content-Type
          in: header
          schema:
            type: string
          example: application/json
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
  /cacheReservability:
    post:
      tags:
        - multion-remote
      summary: cacheReservability
      requestBody:
        content:
          application/json:
            schema:
              type: object
              example:
                placeId: ChIJqVjXkGGAhYAR5X80yCKz9Wo
                restaurantName: Tadich Grill
                city: Palo Alto
      responses:
        '200':
          description: Successful response
          content:
            application/json: {}
