festivals
Version:
All festivals in one place.
1,998 lines • 71.6 kB
JSON
{
"swagger": "2.0",
"host": "festivals.tech",
"basePath": "/api",
"info": {
"version": "1.0.0",
"title": "festivals"
},
"tags": [
{
"name": "news",
"description": "Operation about news"
},
{
"name": "festivals",
"description": "Operation about festivals"
},
{
"name": "festivals-events",
"description": "Operation about festival events"
},
{
"name": "festivals-categories",
"description": "Operation about festival categories"
},
{
"name": "festivals-places",
"description": "Operation about festival places"
},
{
"name": "festivals-news",
"description": "Operation about festival news"
}
],
"schemes": [
"https"
],
"produces": [
"application/vnd.festivals.v1+json",
"application/vnd.festivals.v1+xml"
],
"security": [
{
"oauth2token": [
"public"
]
}
],
"paths": {
"/news": {
"get": {
"tags": [
"news"
],
"summary": "Find news",
"description": "Get news collection",
"operationId": "getNewsCollection",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"news:get"
]
}
],
"parameters": [
{
"name": "name",
"description": "name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "updatedAt",
"description": "updatedAt",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "limit",
"description": "limit",
"required": false,
"type": "integer",
"in": "query",
"default": 100
},
{
"name": "offset",
"description": "offset",
"required": false,
"type": "integer",
"in": "query"
},
{
"name": "country",
"description": "country",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "sort",
"description": "sort",
"required": false,
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/NewsCollectionResponse"
}
}
}
},
"post": {
"tags": [
"news"
],
"summary": "Create news",
"description": "Create news",
"operationId": "createNews",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"news:create"
]
}
],
"parameters": [
{
"in": "body",
"name": "newsRequest",
"description": "News object",
"required": true,
"schema": {
"$ref": "#/definitions/NewsRequest"
}
}
],
"responses": {
"201": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/NewsResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/news/{news.id}": {
"get": {
"tags": [
"news"
],
"summary": "Get news",
"description": "Get news",
"operationId": "getNews",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"news:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "News id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/NewsResponse"
}
},
"404": {
"description": "News not found"
}
}
},
"delete": {
"tags": [
"news"
],
"summary": "Delete news",
"description": "Delete news",
"operationId": "deleteNews",
"security": [
{
"oauth2token": [
"news:delete"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "News id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "successful operation"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "News not found"
}
}
},
"put": {
"tags": [
"news"
],
"summary": "Update news",
"description": "Update news",
"operationId": "updateNews",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"news:update"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "News id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "newsRequest",
"description": "News object",
"required": true,
"schema": {
"$ref": "#/definitions/NewsRequest"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/NewsResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "News not found"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals": {
"get": {
"tags": [
"festivals"
],
"summary": "Find festivals",
"description": "Get festivals collection",
"operationId": "getFestivals",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"festivals:get"
]
}
],
"parameters": [
{
"name": "name",
"description": "name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "description",
"description": "description",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "type",
"description": "type",
"required": false,
"type": "string",
"default": "FANTASY",
"enum": [
"FANTASY",
"WOODSTOCK",
"MUSIC"
],
"in": "query"
},
{
"name": "tag",
"description": "tag",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "dateFrom",
"description": "dateFrom",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "dateTo",
"description": "dateTo",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "location.country",
"description": "location country",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "location.name",
"description": "location name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "location.city",
"description": "location city",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "location.state",
"description": "location state",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "updatedAt",
"description": "updatedAt",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "limit",
"description": "limit",
"required": false,
"type": "integer",
"in": "query",
"default": 100
},
{
"name": "offset",
"description": "offset",
"required": false,
"type": "integer",
"in": "query"
},
{
"name": "sort",
"description": "sort",
"required": false,
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/FestivalsCollectionResponse"
}
}
}
},
"post": {
"tags": [
"festivals"
],
"summary": "Create festival",
"description": "Create festival",
"operationId": "createFestival",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"festivals:create"
]
}
],
"parameters": [
{
"in": "body",
"name": "festivalRequest",
"description": "Festival object",
"required": true,
"schema": {
"$ref": "#/definitions/FestivalRequest"
}
}
],
"responses": {
"201": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/FestivalResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}": {
"get": {
"tags": [
"festivals"
],
"summary": "Get festival",
"description": "Get festival",
"operationId": "getFestival",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"festivals:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/FestivalResponse"
}
},
"404": {
"description": "Festival not found"
}
}
},
"delete": {
"tags": [
"festivals"
],
"summary": "Delete festival",
"description": "Delete festival",
"operationId": "deleteFestival",
"security": [
{
"oauth2token": [
"festivals:delete"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "successful operation"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
},
"put": {
"tags": [
"festivals"
],
"summary": "Update festival",
"description": "Update festival",
"operationId": "updateFestival",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"festivals:update"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "festivalRequest",
"description": "Festival object",
"required": true,
"schema": {
"$ref": "#/definitions/FestivalRequest"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/FestivalResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Festival not found"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}/events": {
"get": {
"tags": [
"festivals-events"
],
"summary": "Get festival events",
"description": "Get festival events collection",
"operationId": "getFestivalEvents",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"events:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "name",
"description": "name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "description",
"description": "description",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "place.name",
"description": "place name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "category.name",
"description": "category name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "dateFrom",
"description": "dateFrom",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "dateTo",
"description": "dateTo",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "author.name",
"description": "author name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "author.organization",
"description": "author organization",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "updatedAt",
"description": "updatedAt",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "limit",
"description": "limit",
"required": false,
"type": "integer",
"in": "query",
"default": 100
},
{
"name": "offset",
"description": "offset",
"required": false,
"type": "integer",
"in": "query"
},
{
"name": "sort",
"description": "sort",
"required": false,
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/EventsCollectionResponse"
}
},
"404": {
"description": "Not found"
}
}
},
"post": {
"tags": [
"festivals-events"
],
"summary": "Create festival events",
"description": "Create festival events",
"operationId": "createFestivalEvent",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"events:create"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "festivalEventRequest",
"description": "Festival event object",
"required": true,
"schema": {
"$ref": "#/definitions/EventRequest"
}
}
],
"responses": {
"201": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/EventResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Festival not found"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}/events/{event.id}": {
"get": {
"tags": [
"festivals-events"
],
"summary": "Get festival event",
"description": "Get festival event collection",
"operationId": "getFestivalEvent",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"events:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "event.id",
"in": "path",
"description": "Event id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/EventResponse"
}
}
}
},
"delete": {
"tags": [
"festivals-events"
],
"summary": "Delete festival event",
"description": "Delete festival events",
"operationId": "deleteFestivalEvent",
"security": [
{
"oauth2token": [
"events:delete"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "event.id",
"in": "path",
"description": "Event id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "successful operation"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
},
"put": {
"tags": [
"festivals-events"
],
"summary": "Update festival events",
"description": "Update festival events",
"operationId": "updateFestivalEvent",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"events:update"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "event.id",
"in": "path",
"description": "Event id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "festivalEventRequest",
"description": "Festival event object",
"required": true,
"schema": {
"$ref": "#/definitions/EventRequest"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/EventResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}/categories": {
"get": {
"tags": [
"festivals-categories"
],
"summary": "Get festival categories",
"description": "Get festival categories collection",
"operationId": "getFestivalCategories",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"categories:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "updatedAt",
"description": "updatedAt",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "parent.id",
"description": "category parent id",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "name",
"description": "name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "limit",
"description": "limit",
"required": false,
"type": "integer",
"in": "query",
"default": 100
},
{
"name": "offset",
"description": "offset",
"required": false,
"type": "integer",
"in": "query"
},
{
"name": "sort",
"description": "sort",
"required": false,
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/CategoriesCollectionResponse"
}
},
"404": {
"description": "Festival not found"
}
}
},
"post": {
"tags": [
"festivals-categories"
],
"summary": "Create festival category",
"description": "Create festival category",
"operationId": "createFestivalCategory",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"categories:create"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "festivalCategoryRequest",
"description": "Festival category object",
"required": true,
"schema": {
"$ref": "#/definitions/CategoryRequest"
}
}
],
"responses": {
"201": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/CategoryResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Festival not found"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}/categories/{category.id}": {
"get": {
"tags": [
"festivals-categories"
],
"summary": "Get festival category",
"description": "Get festival category",
"operationId": "getFestivalCategory",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"categories:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "category.id",
"in": "path",
"description": "Category id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/CategoryResponse"
}
},
"404": {
"description": "Not found"
}
}
},
"delete": {
"tags": [
"festivals-categories"
],
"summary": "Delete festival category",
"description": "Delete festival category",
"operationId": "deleteFestivalCategory",
"security": [
{
"oauth2token": [
"categories:delete"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "category.id",
"in": "path",
"description": "Category id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "successful operation"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
},
"put": {
"tags": [
"festivals-categories"
],
"summary": "Update festival category",
"description": "Update festival category",
"operationId": "updateFestivalCategory",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"categories:update"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "category.id",
"in": "path",
"description": "Category id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "festivalCategoryRequest",
"description": "Festival category object",
"required": true,
"schema": {
"$ref": "#/definitions/CategoryRequest"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/CategoryResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}/places": {
"get": {
"tags": [
"festivals-places"
],
"summary": "Get festival places",
"description": "Get festival places collection",
"operationId": "getFestivalPlaces",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"places:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "updatedAt",
"description": "updatedAt",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "parent.id",
"description": "place parent id",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "name",
"description": "name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "limit",
"description": "limit",
"required": false,
"type": "integer",
"in": "query",
"default": 100
},
{
"name": "offset",
"description": "offset",
"required": false,
"type": "integer",
"in": "query"
},
{
"name": "sort",
"description": "sort",
"required": false,
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/PlacesCollectionResponse"
}
},
"404": {
"description": "Festival not found"
}
}
},
"post": {
"tags": [
"festivals-places"
],
"summary": "Create festival place",
"description": "Create festival place",
"operationId": "createFestivalPlace",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"places:create"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "festivalPlaceRequest",
"description": "Festival place object",
"required": true,
"schema": {
"$ref": "#/definitions/PlaceRequest"
}
}
],
"responses": {
"201": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/PlaceResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}/places/{place.id}": {
"get": {
"tags": [
"festivals-places"
],
"summary": "Get festival place",
"description": "Get festival place",
"operationId": "getFestivalPlace",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"places:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "place.id",
"in": "path",
"description": "Place id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/PlaceResponse"
}
},
"404": {
"description": "Festival not found"
}
}
},
"delete": {
"tags": [
"festivals-places"
],
"summary": "Delete festival place",
"description": "Delete festival place",
"operationId": "deleteFestivalPlace",
"security": [
{
"oauth2token": [
"places:delete"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "place.id",
"in": "path",
"description": "Place id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "successful operation"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
}
}
},
"put": {
"tags": [
"festivals-places"
],
"summary": "Update festival place",
"description": "Update festival place",
"operationId": "updateFestivalPlace",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"places:update"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "place.id",
"in": "path",
"description": "Place id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "festivalPlaceRequest",
"description": "Festival place object",
"required": true,
"schema": {
"$ref": "#/definitions/PlaceRequest"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/PlaceResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "Not found"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}/news": {
"get": {
"tags": [
"festivals-news"
],
"summary": "Find festival news",
"description": "Get festival news collection",
"operationId": "getFestivalNewsCollection",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"news:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "name",
"description": "name",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "updatedAt",
"description": "updatedAt",
"required": false,
"type": "string",
"in": "query"
},
{
"name": "limit",
"description": "limit",
"required": false,
"type": "integer",
"in": "query",
"default": 100
},
{
"name": "offset",
"description": "offset",
"required": false,
"type": "integer",
"in": "query"
},
{
"name": "sort",
"description": "sort",
"required": false,
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/NewsCollectionResponse"
}
}
}
},
"post": {
"tags": [
"festivals-news"
],
"summary": "Create festival news",
"description": "Create festival news",
"operationId": "createFestivalNews",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"news:create"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "newsRequest",
"description": "News object",
"required": true,
"schema": {
"$ref": "#/definitions/NewsRequest"
}
}
],
"responses": {
"201": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/NewsResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
},
"/festivals/{id}/news/{news.id}": {
"get": {
"tags": [
"festivals-news"
],
"summary": "Get festival news",
"description": "Get festival news",
"operationId": "getFestivalNews",
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"news:get"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "news.id",
"in": "path",
"description": "News id",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/NewsResponse"
}
},
"404": {
"description": "News not found"
}
}
},
"delete": {
"tags": [
"festivals-news"
],
"summary": "Delete festival news",
"description": "Delete festival news",
"operationId": "deleteFestivalNews",
"security": [
{
"oauth2token": [
"news:delete"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "news.id",
"in": "path",
"description": "News id",
"required": true,
"type": "string"
}
],
"responses": {
"204": {
"description": "successful operation"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "News not found"
}
}
},
"put": {
"tags": [
"festivals-news"
],
"summary": "Update festival news",
"description": "Update festival news",
"operationId": "updateFestivalNews",
"consumes": [
"application/vnd.festivals.v1+json"
],
"produces": [
"application/vnd.festivals.v1+json"
],
"security": [
{
"oauth2token": [
"news:update"
]
}
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "Festival id",
"required": true,
"type": "string"
},
{
"name": "news.id",
"in": "path",
"description": "News id",
"required": true,
"type": "string"
},
{
"in": "body",
"name": "newsRequest",
"description": "News object",
"required": true,
"schema": {
"$ref": "#/definitions/NewsRequest"
}
}
],
"responses": {
"200": {
"description": "successful operation",
"schema": {
"$ref": "#/definitions/NewsResponse"
}
},
"400": {
"description": "Bad request"
},
"401": {
"description": "Unauthorized"
},
"403": {
"description": "Forbidden"
},
"404": {
"description": "News not found"
},
"406": {
"description": "The request you made is not acceptable"
},
"422": {
"description": "Invalid parameter value"
}
}
}
}
},
"securityDefinitions": {
"oauth2token": {
"type": "oauth2",
"flow": "implicit",
"authorizationUrl": "https://vehicle-history.io/oauth/authorization",
"scopes": {
"public": "public API scope",
"news:update": "permission to update news",
"news:delete": "permission to delete news",
"news:get": "permission to get news",
"news:create": "permission to create news",
"places:update": "permission to update places",
"places:delete": "permission to delete places",
"places:get": "permission to get places",
"places:create": "permission to create places",
"categories:update": "permission to update categories",
"categories:delete": "permission to delete categories",
"categories:get": "permission to get categories",
"categories:create": "permission to create categories",
"events:update": "permission to update events",
"events:delete": "permission to delete events",
"events:get": "permission to get events",
"events:create": "permission to create events",
"festivals:update": "permission to update festivals",
"festivals:delete": "permission to delete festivals",
"festivals:get": "permission to get festivals",
"festivals:create": "permission to create festivals"
}
}
},
"definitions": {
"CoordinatesRequest": {
"properties": {
"lat": {
"type": "number",
"format": "double",
"description": "lat"
},
"lon": {
"type": "number",
"format": "double",
"description": "lon"
}
},
"description": "Geo coordinates",
"required": [
"lat",
"lon"
]
},
"CoordinatesResponse": {
"properties": {
"lat": {
"type": "number",
"format": "double",
"description": "lat"
},
"lon": {
"type": "number",
"format": "double",
"description": "lon"
}
},
"description": "Geo coordinates",
"required": [
"lat",
"lon"
]
},
"AuthorResponse": {
"properties": {
"name": {
"type": "stri