/websites:
  get:
    operationId: browse
    description: Returns an array of website objects.
    parameters:
      - name: page
        in: query
        type: string
        default: 1
      - name: limit
        in: query
        type: string
        default: 25
      - name: query
        in: query
        type: string
    security:
      - jwt: []
    responses:
      403:
        $ref: '#/responses/Unauthorized'
      400:
        $ref: '#/responses/BadRequest'
      200:
        $ref: '#/responses/Websites'
  post:
    description: Creates a new website.
    parameters:
      - name: body
        in: body
        schema:
          $ref: '#/definitions/Website'
    security:
      - jwt: []
    responses:
      403:
        $ref: '#/responses/Unauthorized'
      400:
        $ref: '#/responses/BadRequest'
      200:
        $ref: '#/responses/Website'
/websites/{id}:
  get:
    description: Returns a single website object.
    parameters:
      - name: id
        in: path
        type: string
      - name: with
        in: query
        type: string
        default: theme,pages,pages.template,pages.template.theme
    security:
      - jwt: []
    responses:
      403:
        $ref: '#/responses/Unauthorized'
      404:
        $ref: '#/responses/NotFound'
      400:
        $ref: '#/responses/BadRequest'
      200:
        $ref: '#/responses/Website'
  put:
    description: Updates a single website object.
    parameters:
      - name: id
        in: path
        type: string
      - name: body
        in: body
        schema:
          $ref: '#/definitions/Website'
    security:
      - jwt: []
    responses:
      403:
        $ref: '#/responses/Unauthorized'
      404:
        $ref: '#/responses/NotFound'
      400:
        $ref: '#/responses/BadRequest'
      200:
        $ref: '#/responses/Website'
  delete:
    description: Deletes a single website object.
    parameters:
      - name: id
        in: path
        type: string
    security:
      - jwt: []
    responses:
      403:
        $ref: '#/responses/Unauthorized'
      404:
        $ref: '#/responses/NotFound'
      400:
        $ref: '#/responses/BadRequest'
      200:
        $ref: '#/responses/Website'
