mirror of
https://github.com/monkeytypegame/monkeytype.git
synced 2025-02-02 20:08:18 +08:00
2dba957adc
* Add public documentation * typo * added hard limit on the leaderboards * ignoring worker when compiling * added leaderboard routes * leaderboards accept apekeys * Fix docs * Fix * Specify parse base * Add ape rate limiter * added documentation link * updated message Co-authored-by: Miodec <bartnikjack@gmail.com>
1066 lines
24 KiB
JSON
1066 lines
24 KiB
JSON
{
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "These are the set of `internal` endpoints dedicated to the Monkeytype web client. Authentication for these endpoints requires a user account.",
|
|
"version": "1.0.0",
|
|
"title": "Monkeytype",
|
|
"termsOfService": "https://monkeytype.com/terms-of-service",
|
|
"contact": {
|
|
"name": "Developer",
|
|
"email": "jack@monkeytype.com"
|
|
}
|
|
},
|
|
"host": "api.monkeytype.com",
|
|
"schemes": ["https"],
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": [
|
|
{
|
|
"name": "index",
|
|
"description": "Server status information"
|
|
},
|
|
{
|
|
"name": "users",
|
|
"description": "User data and related operations"
|
|
},
|
|
{
|
|
"name": "psas",
|
|
"description": "Public service announcements"
|
|
},
|
|
{
|
|
"name": "presets",
|
|
"description": "Preset data and related operations"
|
|
},
|
|
{
|
|
"name": "configs",
|
|
"description": "User configuration data and related operations"
|
|
},
|
|
{
|
|
"name": "ape-keys",
|
|
"description": "ApeKey data and related operations"
|
|
},
|
|
{
|
|
"name": "leaderboards",
|
|
"description": "Leaderboard data"
|
|
},
|
|
{
|
|
"name": "results",
|
|
"description": "Result data and related operations"
|
|
},
|
|
{
|
|
"name": "quotes",
|
|
"description": "Quote data and related operations"
|
|
}
|
|
],
|
|
"paths": {
|
|
"/": {
|
|
"get": {
|
|
"tags": ["index"],
|
|
"summary": "Gets the server's status data",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users": {
|
|
"get": {
|
|
"tags": ["users"],
|
|
"summary": "Returns a user's data",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["users"],
|
|
"summary": "Deletes a user's account",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/name": {
|
|
"patch": {
|
|
"tags": ["users"],
|
|
"summary": "Updates a user's name",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/signup": {
|
|
"post": {
|
|
"tags": ["users"],
|
|
"summary": "Creates a new user",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"uid": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/checkName/{name}": {
|
|
"get": {
|
|
"tags": ["users"],
|
|
"summary": "Checks to see if a username is available",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"in": "path",
|
|
"description": "",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/leaderboardMemory": {
|
|
"patch": {
|
|
"tags": ["users"],
|
|
"summary": "Updates a user's cached leaderboard state",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"mode": {
|
|
"type": "string"
|
|
},
|
|
"mode2": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"rank": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/discord/link": {
|
|
"post": {
|
|
"tags": ["users"],
|
|
"summary": "Links a user's account with a discord account",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tokenType": {
|
|
"type": "string"
|
|
},
|
|
"accessToken": {
|
|
"type": "string"
|
|
},
|
|
"uid": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/discord/unlink": {
|
|
"post": {
|
|
"tags": ["users"],
|
|
"summary": "Unlinks a user's account with a discord account",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/email": {
|
|
"patch": {
|
|
"tags": ["users"],
|
|
"summary": "Updates a user's email",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"newEmail": {
|
|
"type": "string"
|
|
},
|
|
"previousEmail": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/personalBests": {
|
|
"delete": {
|
|
"tags": ["users"],
|
|
"summary": "Gets a user's personal bests",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/tags": {
|
|
"get": {
|
|
"tags": ["users"],
|
|
"summary": "Gets a user's tags",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["users"],
|
|
"summary": "Creates a new tag",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tagName": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"tags": ["users"],
|
|
"summary": "Updates an existing tag",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tagId": {
|
|
"type": "string"
|
|
},
|
|
"newName": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/tags/{tagId}": {
|
|
"delete": {
|
|
"tags": ["users"],
|
|
"summary": "Deletes a tag",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tagId",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/users/tags/{tagId}/personalBest": {
|
|
"delete": {
|
|
"tags": ["users"],
|
|
"summary": "Removes personal bests associated with a tag",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "tagId",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/psas": {
|
|
"get": {
|
|
"tags": ["psas"],
|
|
"summary": "Gets the latest public service announcements",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/presets": {
|
|
"get": {
|
|
"tags": ["presets"],
|
|
"summary": "Gets saved preset configurations",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["presets"],
|
|
"summary": "Creates a preset configuration",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"tags": ["presets"],
|
|
"summary": "Updates an existing preset configuration",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"_id": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"config": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/presets/{presetId}": {
|
|
"delete": {
|
|
"tags": ["presets"],
|
|
"summary": "Deletes a preset configuration",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "presetId",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/configs": {
|
|
"get": {
|
|
"tags": ["configs"],
|
|
"summary": "Gets the user's current configuration",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"patch": {
|
|
"tags": ["configs"],
|
|
"summary": "Updates a user's configuration",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"config": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ape-keys": {
|
|
"get": {
|
|
"tags": ["ape-keys"],
|
|
"summary": "Gets ApeKeys created by a user",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["ape-keys"],
|
|
"summary": "Creates an ApeKey",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/ape-keys/{apeKeyId}": {
|
|
"patch": {
|
|
"tags": ["ape-keys"],
|
|
"summary": "Updates an ApeKey",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "apeKeyId",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["ape-keys"],
|
|
"summary": "Deletes an ApeKey",
|
|
"parameters": [
|
|
{
|
|
"in": "path",
|
|
"name": "apeKeyId",
|
|
"required": true,
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/leaderboards": {
|
|
"get": {
|
|
"tags": ["leaderboards"],
|
|
"summary": "Gets a leaderboard",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "language",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "mode",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "mode2",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "skip",
|
|
"type": "number"
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "limit",
|
|
"type": "number"
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/leaderboards/rank": {
|
|
"get": {
|
|
"tags": ["leaderboards"],
|
|
"summary": "Gets a user's rank from a leaderboard",
|
|
"parameters": [
|
|
{
|
|
"in": "query",
|
|
"name": "language",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "mode",
|
|
"type": "string"
|
|
},
|
|
{
|
|
"in": "query",
|
|
"name": "mode2",
|
|
"type": "string"
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/results": {
|
|
"get": {
|
|
"tags": ["results"],
|
|
"summary": "Gets a history of a user's results",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["results"],
|
|
"summary": "Save a user's result",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"result": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"tags": ["results"],
|
|
"summary": "Deletes all results",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/results/tags": {
|
|
"patch": {
|
|
"tags": ["results"],
|
|
"summary": "Labels a result with the specified tags",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tagIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"resultId": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/quotes": {
|
|
"get": {
|
|
"tags": ["quotes"],
|
|
"summary": "Gets a list of quote submissions",
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["quotes"],
|
|
"summary": "Creates a quote submission",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"text": {
|
|
"type": "string"
|
|
},
|
|
"source": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
},
|
|
"captcha": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/quotes/approve": {
|
|
"post": {
|
|
"tags": ["quotes"],
|
|
"summary": "Approves a quote submission",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"quoteId": {
|
|
"type": "string"
|
|
},
|
|
"editText": {
|
|
"type": "string"
|
|
},
|
|
"editSource": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/quotes/reject": {
|
|
"post": {
|
|
"tags": ["quotes"],
|
|
"summary": "Rejects a quote submission",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"quoteId": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/quotes/rating": {
|
|
"get": {
|
|
"tags": ["quotes"],
|
|
"summary": "Gets a rating for a quote",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"quoteId": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"tags": ["quotes"],
|
|
"summary": "Adds a rating for a quote",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"quoteId": {
|
|
"type": "string"
|
|
},
|
|
"rating": {
|
|
"type": "string"
|
|
},
|
|
"language": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/quotes/report": {
|
|
"post": {
|
|
"tags": ["quotes"],
|
|
"summary": "Reports a quote",
|
|
"parameters": [
|
|
{
|
|
"in": "body",
|
|
"name": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"type": "object",
|
|
"properties": {
|
|
"quoteId": {
|
|
"type": "string"
|
|
},
|
|
"quoteLanguage": {
|
|
"type": "string"
|
|
},
|
|
"reason": {
|
|
"type": "string"
|
|
},
|
|
"comment": {
|
|
"type": "string"
|
|
},
|
|
"captcha": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"default": {
|
|
"description": "",
|
|
"schema": {
|
|
"$ref": "#/definitions/Response"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"Response": {
|
|
"type": "object",
|
|
"required": ["message", "data"],
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
},
|
|
"data": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|