{
  "swagger": "2.0",
  "info": {
    "title": "evey/v1/feed.proto",
    "version": "version not set"
  },
  "tags": [
    {
      "name": "FeedService"
    }
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/api/v1/admin/feeds/config": {
      "get": {
        "operationId": "FeedService_GetAdminFeedConfigs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1GetAdminFeedConfigsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "tags": [
          "FeedService"
        ]
      },
      "put": {
        "operationId": "FeedService_BatchUpdateAdminFeedConfigs",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1BatchUpdateAdminFeedConfigsResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/v1BatchUpdateAdminFeedConfigsRequest"
            }
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/admin/feeds/config/{feedType}": {
      "put": {
        "operationId": "FeedService_UpdateAdminFeedConfig",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1AdminFeedConfig"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "feedType",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FeedServiceUpdateAdminFeedConfigBody"
            }
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/feeds/config": {
      "get": {
        "operationId": "FeedService_GetFeedConfig",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1GetFeedConfigResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/feeds/config/{feedType}": {
      "delete": {
        "operationId": "FeedService_ResetProfileFeedConfig",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1ResetProfileFeedConfigResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "feedType",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "tags": [
          "FeedService"
        ]
      },
      "put": {
        "operationId": "FeedService_UpdateProfileFeedConfig",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1ProfileFeedConfig"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "feedType",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "body",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/FeedServiceUpdateProfileFeedConfigBody"
            }
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/feeds/continue-watching": {
      "get": {
        "operationId": "FeedService_ContinueWatching",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1FeedResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/feeds/next-episode": {
      "get": {
        "operationId": "FeedService_NextEpisode",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1FeedResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/feeds/recently-added": {
      "get": {
        "operationId": "FeedService_RecentlyAdded",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1FeedResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "daysWindow",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/feeds/recommended": {
      "get": {
        "operationId": "FeedService_Recommended",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1FeedResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/feeds/resume-playback": {
      "get": {
        "operationId": "FeedService_ResumePlayback",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1FeedResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    },
    "/api/v1/feeds/similar/{mediaItemId}": {
      "get": {
        "operationId": "FeedService_SimilarItems",
        "responses": {
          "200": {
            "description": "A successful response.",
            "schema": {
              "$ref": "#/definitions/v1FeedResponse"
            }
          },
          "default": {
            "description": "An unexpected error response.",
            "schema": {
              "$ref": "#/definitions/rpcStatus"
            }
          }
        },
        "parameters": [
          {
            "name": "mediaItemId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "profileId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "type": "integer",
            "format": "int32"
          }
        ],
        "tags": [
          "FeedService"
        ]
      }
    }
  },
  "definitions": {
    "FeedServiceUpdateAdminFeedConfigBody": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "displayOrder": {
          "type": "integer",
          "format": "int32"
        },
        "maxItems": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "FeedServiceUpdateProfileFeedConfigBody": {
      "type": "object",
      "properties": {
        "profileId": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "displayOrder": {
          "type": "integer",
          "format": "int32"
        },
        "maxItems": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "protobufAny": {
      "type": "object",
      "properties": {
        "@type": {
          "type": "string"
        }
      },
      "additionalProperties": {}
    },
    "rpcStatus": {
      "type": "object",
      "properties": {
        "code": {
          "type": "integer",
          "format": "int32"
        },
        "message": {
          "type": "string"
        },
        "details": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/protobufAny"
          }
        }
      }
    },
    "v1AdminFeedConfig": {
      "type": "object",
      "properties": {
        "feedType": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "displayOrder": {
          "type": "integer",
          "format": "int32"
        },
        "maxItems": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "v1BatchUpdateAdminFeedConfigsRequest": {
      "type": "object",
      "properties": {
        "configs": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1AdminFeedConfig"
          }
        }
      }
    },
    "v1BatchUpdateAdminFeedConfigsResponse": {
      "type": "object"
    },
    "v1FeedItem": {
      "type": "object",
      "properties": {
        "mediaItemId": {
          "type": "string"
        },
        "parentId": {
          "type": "string"
        },
        "title": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "positionMs": {
          "type": "string",
          "format": "int64"
        },
        "addedAt": {
          "type": "string"
        },
        "score": {
          "type": "integer",
          "format": "int32"
        },
        "seasonNumber": {
          "type": "integer",
          "format": "int32",
          "description": "Populated for episodes (zero otherwise) so clients can render\n\"S{season}E{episode} - {title}\" without another roundtrip."
        },
        "episodeNumber": {
          "type": "integer",
          "format": "int32"
        },
        "primaryBlurhash": {
          "type": "string",
          "description": "Primary artwork blurhash placeholder. Empty when the item has no\nprimary artwork or pre-dates the blurhash field. Lets home/library\ngrids render a coloured preview before the poster image loads."
        }
      }
    },
    "v1FeedResponse": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1FeedItem"
          }
        }
      }
    },
    "v1GetAdminFeedConfigsResponse": {
      "type": "object",
      "properties": {
        "configs": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1AdminFeedConfig"
          }
        }
      }
    },
    "v1GetFeedConfigResponse": {
      "type": "object",
      "properties": {
        "configs": {
          "type": "array",
          "items": {
            "type": "object",
            "$ref": "#/definitions/v1MergedFeedConfig"
          }
        }
      }
    },
    "v1MergedFeedConfig": {
      "type": "object",
      "properties": {
        "feedType": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "displayOrder": {
          "type": "integer",
          "format": "int32"
        },
        "maxItems": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "v1ProfileFeedConfig": {
      "type": "object",
      "properties": {
        "profileId": {
          "type": "string"
        },
        "feedType": {
          "type": "string"
        },
        "enabled": {
          "type": "boolean"
        },
        "displayOrder": {
          "type": "integer",
          "format": "int32"
        },
        "maxItems": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "v1ResetProfileFeedConfigResponse": {
      "type": "object"
    }
  }
}
