swagger: "2.0"
schemes:
  - http
host: 192.168.1.5:8990
basePath: /
info:
  description: Move your app forward with the Zappiti Player API. Use http://your-player-ip:8990/ as base URL for your requests.
  title: Zappiti Player API
  version: 4.15.174
  x-apisguru-categories:
    - media
  x-logo:
    backgroundColor: "#FFFFFF"
    url: https://api.apis.guru/v2/cache/logo/https_cloud.githubusercontent.com_assets_21603_24292732_7e3a8038-1086-11e7-90c0-434e4dcc3474.png
  x-origin:
    - format: swagger
      url: http://zappiti.com/api/zappiti-player-4k/swagger/swagger.yaml
      version: "2.0"
  x-providerName: zappiti.com
produces:
  - application/json
paths:
  /CheckZappitiService:
    post:
      consumes:
        - application/json
      description: |
        ErrorCode.NotInstalled
        ErrorCode.NotRunning
        ErrorCode.Running
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/CheckZappitiServiceRequest"
      produces:
        - application/json
      responses:
        "200":
          description: CheckZappitiServiceResult
          schema:
            $ref: "#/definitions/CheckZappitiServiceResult"
      summary: Check if Zappiti Service app status on the player
      tags:
        - Zappiti Service
  /ConnectionDetails:
    post:
      consumes:
        - application/json
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/ConnectionDetailsRequest"
      produces:
        - application/json
      responses:
        "200":
          description: ConnectionDetailsResult
          schema:
            $ref: "#/definitions/ConnectionDetailsResult"
      summary: Get user's login details
      tags:
        - General
  /InstallZappitiService:
    post:
      consumes:
        - application/json
      description: ""
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/InstallZappitiServiceRequest"
      produces:
        - application/json
      responses:
        "200":
          description: InstallZappitiServiceResult
          schema:
            $ref: "#/definitions/InstallZappitiServiceResult"
      summary: Open a popup that allow the user to install Zappiti Service, if not already installed
      tags:
        - Zappiti Service
  /IsAlive:
    post:
      consumes:
        - application/json
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/IsAliveRequest"
      produces:
        - application/json
      responses:
        "200":
          description: IsAliveResult
          schema:
            $ref: "#/definitions/IsAliveResult"
      summary: Get server status
      tags:
        - General
  /LastMedia:
    post:
      consumes:
        - application/json
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/LastMediaRequest"
      produces:
        - application/json
      responses:
        "200":
          description: LastMediaResult
          schema:
            $ref: "#/definitions/LastMediaResult"
      summary: Get informations about last media playback
      tags:
        - Playback
  /StartVideo:
    post:
      consumes:
        - application/json
      description: |
        Start the playback of the speficied video.
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/StartVideoRequest"
      produces:
        - application/json
      responses:
        "200":
          description: StartVideoResult
          schema:
            $ref: "#/definitions/StartVideoResult"
      summary: Start the playback
      tags:
        - Playback
  /StartZappitiService:
    post:
      consumes:
        - application/json
      description: ""
      parameters:
        - in: body
          name: body
          required: true
          schema:
            $ref: "#/definitions/StartZappitiServiceRequest"
      produces:
        - application/json
      responses:
        "200":
          description: StartZappitiServiceResult
          schema:
            $ref: "#/definitions/StartZappitiServiceResult"
      summary: Start Zappiti Service if not started yet
      tags:
        - Zappiti Service
definitions:
  CheckZappitiServiceRequest:
    properties:
      ApiKey:
        description: Client API Key
        format: uuid
        type: string
    type: object
  CheckZappitiServiceResult:
    properties:
      ErrorCode:
        $ref: "#/definitions/ErrorCode"
    type: object
  ConnectionDetailsRequest:
    properties:
      ApiKey:
        description: Client API Key
        format: uuid
        type: string
    type: object
  ConnectionDetailsResult:
    properties:
      AuthKey:
        description: User's Authentification key
        format: uuid
        type: string
      Collection:
        description: User's collection id
        format: string
        type: string
      Email:
        description: User's email used for the collection
        format: string
        type: string
      ErrorCode:
        $ref: "#/definitions/ErrorCode"
      ServerIp:
        description: Server's IP
        format: string
        type: string
      ServerPort:
        description: Port used by the server
        type: integer
    type: object
  ErrorCode:
    enum:
      - None
      - Failed
      - Exist
      - NotInstalled
      - NotRunning
      - Running
      - FailToStart
      - BadApiKey
    type: string
  InstallZappitiServiceRequest:
    properties:
      ApiKey:
        description: Client API Key
        format: uuid
        type: string
    type: object
  InstallZappitiServiceResult:
    properties:
      ErrorCode:
        $ref: "#/definitions/ErrorCode"
    type: object
  IsAliveRequest:
    properties:
      ApiKey:
        description: Client API Key
        format: uuid
        type: string
    type: object
  IsAliveResult:
    properties:
      ErrorCode:
        $ref: "#/definitions/ErrorCode"
    type: object
  LastMediaRequest:
    properties:
      ApiKey:
        description: Client API Key
        format: uuid
        type: string
    type: object
  LastMediaResult:
    properties:
      Actors:
        items:
          type: string
        type: array
      BackgroundUrl:
        type: string
      Directors:
        items:
          type: string
        type: array
      Episode:
        type: integer
      ErrorCode:
        $ref: "#/definitions/ErrorCode"
      PosterUrl:
        type: string
      Runtime:
        type: integer
      Season:
        type: integer
      Synopsis:
        type: string
      Title:
        type: string
      TvShowName:
        type: string
    type: object
  StartVideoRequest:
    properties:
      ApiKey:
        description: Client API Key
        format: uuid
        type: string
      AuthKey:
        description: User auth key
        format: uuid
        type: string
      Collection:
        description: Collection id
        format: string
        type: string
      Ip:
        description: Server Ip
        format: string
        type: string
      MediaId:
        description: Id of the video to start
        format: uuid
        type: string
      Port:
        description: Server Port
        format: int32
        type: integer
    type: object
  StartVideoResult:
    properties:
      ErrorCode:
        $ref: "#/definitions/ErrorCode"
    type: object
  StartZappitiServiceRequest:
    properties:
      ApiKey:
        description: Client API Key
        format: uuid
        type: string
    type: object
  StartZappitiServiceResult:
    properties:
      ErrorCode:
        $ref: "#/definitions/ErrorCode"
    type: object
x-servers:
  - url: http://{ip-address}:8990/
    variables:
      ip-address:
        default: 192.168.1.5
