314 lines
7.8 KiB
JSON
314 lines
7.8 KiB
JSON
swagger: "2.0"
|
|
info:
|
|
description: "Dit is de publieke alleen-lezen interface van 6FM RES (Radio Extranet Systeem)."
|
|
version: "1.0.0"
|
|
title: "6FM RES"
|
|
# termsOfService: "http://swagger.io/terms/"
|
|
contact:
|
|
email: "mischa.spelt@6fm.nl"
|
|
#license:
|
|
# name: "Apache 2.0"
|
|
# url: "http://www.apache.org/licenses/LICENSE-2.0.html"
|
|
host: "api.6fm.nl"
|
|
basePath: "/"
|
|
tags:
|
|
- name: "nieuws"
|
|
description: "Nieuwsberichten"
|
|
#externalDocs:
|
|
# description: "Find out more"
|
|
# url: "http://swagger.io"
|
|
#- name: "store"
|
|
#description: "Access to Petstore orders"
|
|
#- name: "user"
|
|
#description: "Operations about user"
|
|
#externalDocs:
|
|
# description: "Find out more about our store"
|
|
# url: "http://swagger.io"
|
|
schemes:
|
|
- "http"
|
|
paths:
|
|
'/nieuws/overzicht':
|
|
get:
|
|
tags:
|
|
- "nieuws"
|
|
summary: "Overzicht van nieuwsberichten"
|
|
description: "Geeft een overzicht van de 15 meest recente nieuwsberichten. Equivalent aan /nieuws/overzicht/15/1."
|
|
produces:
|
|
- "application/json"
|
|
responses:
|
|
200:
|
|
description: "Success"
|
|
schema:
|
|
type: "object"
|
|
properties:
|
|
page:
|
|
type: "integer"
|
|
count:
|
|
type: "integer"
|
|
news:
|
|
type: "array"
|
|
items:
|
|
$ref: "#/definitions/NewsItem"
|
|
'/nieuws/overzicht/{aantal}':
|
|
get:
|
|
tags:
|
|
- "nieuws"
|
|
summary: "Overzicht van nieuwsberichten"
|
|
description: "Geeft een overzicht van de {aantal} meest recente nieuwsberichten. Equivalent aan /nieuws/overzicht/{aantal}/1."
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
- name: aantal
|
|
in: path
|
|
description: "Het aantal nieuwsberichten per resultaatpagina."
|
|
required: true
|
|
default: 15
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: "Success"
|
|
schema:
|
|
type: "object"
|
|
properties:
|
|
page:
|
|
type: "integer"
|
|
count:
|
|
type: "integer"
|
|
news:
|
|
type: "array"
|
|
items:
|
|
$ref: "#/definitions/NewsItem"
|
|
'/nieuws/overzicht/{aantal}/{pagina}':
|
|
get:
|
|
tags:
|
|
- "nieuws"
|
|
summary: "Overzicht van nieuwsberichten"
|
|
description: "Geeft een overzicht van {aantal} recente nieuwsberichten, de meest recente {pagina} pagina's overslaand"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
- name: aantal
|
|
in: path
|
|
description: "Het aantal nieuwsberichten per resultaatpagina."
|
|
required: true
|
|
default: 15
|
|
type: string
|
|
- name: pagina
|
|
in: path
|
|
description: "Het paginanummer."
|
|
required: true
|
|
default: 1
|
|
type: string
|
|
responses:
|
|
200:
|
|
description: "Success"
|
|
schema:
|
|
type: "object"
|
|
properties:
|
|
page:
|
|
type: "integer"
|
|
count:
|
|
type: "integer"
|
|
news:
|
|
type: "array"
|
|
items:
|
|
$ref: "#/definitions/NewsItem"
|
|
'/nieuws/bericht/{id}':
|
|
get:
|
|
tags:
|
|
- "nieuws"
|
|
summary: "Details van een specifiek nieuwsbericht"
|
|
description: "Geeft de details van een specifiek nieuwsbericht"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
description: "Het unieke ID van het nieuwsbericht"
|
|
required: true
|
|
type: "integer"
|
|
responses:
|
|
200:
|
|
description: "Success"
|
|
schema:
|
|
$ref: '#/definitions/NewsItem'
|
|
404:
|
|
description: "ID is ongeldig"
|
|
|
|
'/agenda/overzicht[/week]':
|
|
get:
|
|
tags:
|
|
- "agenda"
|
|
summary: "Overzicht van alle agendaberichten in de komende 7 dagen"
|
|
description: "Geeft een overzicht van alle agendaberichten in de komende week"
|
|
produces:
|
|
- "application/json"
|
|
responses:
|
|
200:
|
|
description: "Success"
|
|
schema:
|
|
type: "array"
|
|
items:
|
|
$ref: '#/definitions/AgendaItem'
|
|
|
|
'/agenda/overzicht/maand':
|
|
get:
|
|
tags:
|
|
- "agenda"
|
|
summary: "Overzicht van alle agendaberichten in de komende 30 dagen"
|
|
description: "Geeft een overzicht van alle agendaberichten in de komende maand"
|
|
produces:
|
|
- "application/json"
|
|
responses:
|
|
200:
|
|
description: "Success"
|
|
schema:
|
|
type: "array"
|
|
items:
|
|
$ref: '#/definitions/AgendaItem'
|
|
|
|
'/agenda/overzicht/alles':
|
|
get:
|
|
tags:
|
|
- "agenda"
|
|
summary: "Overzicht van alle agendaberichten in de toekomst"
|
|
description: "Geeft een overzicht van alle agendaberichten in de toekomst"
|
|
produces:
|
|
- "application/json"
|
|
responses:
|
|
200:
|
|
description: "Success"
|
|
schema:
|
|
type: "array"
|
|
items:
|
|
$ref: '#/definitions/AgendaItem'
|
|
|
|
'/agenda/details/{id}':
|
|
get:
|
|
tags:
|
|
- "agenda"
|
|
summary: "Details van een specifiek agendaitem"
|
|
description: "Geeft de details van een specifiek agendaitem"
|
|
produces:
|
|
- "application/json"
|
|
parameters:
|
|
- name: id
|
|
in: path
|
|
description: "Het unieke ID van het agendabericht"
|
|
required: true
|
|
type: "integer"
|
|
responses:
|
|
200:
|
|
description: "Success"
|
|
schema:
|
|
$ref: '#/definitions/AgendaItem'
|
|
404:
|
|
description: "ID is ongeldig"
|
|
|
|
|
|
#securityDefinitions:
|
|
#petstore_auth:
|
|
# type: "oauth2"
|
|
# authorizationUrl: "http://petstore.swagger.io/oauth/dialog"
|
|
# flow: "implicit"
|
|
# scopes:
|
|
# write:pets: "modify pets in your account"
|
|
# read:pets: "read your pets"
|
|
#api_key:
|
|
# type: "apiKey"
|
|
# name: "api_key"
|
|
# in: "header"
|
|
definitions:
|
|
DateTime:
|
|
type: "object"
|
|
properties:
|
|
date:
|
|
type: "string"
|
|
format: "yyyy-mm-dd hh:mm:ss.zzzzzz"
|
|
timezone_type:
|
|
type: "integer"
|
|
timezone:
|
|
type: "string"
|
|
description: "The timezone of the date/time, usually 'UTC' or 'Europe/Amsterdam'."
|
|
NewsSource:
|
|
type: "object"
|
|
properties:
|
|
title:
|
|
type: "string"
|
|
url:
|
|
type: "string"
|
|
show:
|
|
type: "boolean"
|
|
NewsImage:
|
|
type: "object"
|
|
properties:
|
|
id:
|
|
type: "integer"
|
|
title:
|
|
type: "string"
|
|
url:
|
|
type: "string"
|
|
|
|
NewsItem:
|
|
type: "object"
|
|
properties:
|
|
id:
|
|
type: "integer"
|
|
title:
|
|
type: "string"
|
|
content:
|
|
type: "string"
|
|
published:
|
|
$ref: "#/definitions/DateTime"
|
|
edited:
|
|
$ref: "#/definitions/DateTime"
|
|
keywords:
|
|
type: "array"
|
|
items:
|
|
type: "string"
|
|
source:
|
|
type: "array"
|
|
items:
|
|
$ref: "#/definitions/NewsSource"
|
|
theme:
|
|
type: "string"
|
|
region:
|
|
type: "string"
|
|
podcast:
|
|
type: "string"
|
|
images:
|
|
type: "array"
|
|
items:
|
|
$ref: "#/definitions/NewsImage"
|
|
video:
|
|
type: "string"
|
|
url:
|
|
type: "string"
|
|
|
|
AgendaItem:
|
|
type: "object"
|
|
properties:
|
|
id:
|
|
type: "integer"
|
|
title:
|
|
type: "string"
|
|
region:
|
|
type: "string"
|
|
content:
|
|
type: "string"
|
|
starts:
|
|
$ref: "#/definitions/DateTime"
|
|
ends:
|
|
$ref: "#/definitions/DateTime"
|
|
images:
|
|
type: "array"
|
|
items:
|
|
$ref: "#/definitions/NewsImage"
|
|
url:
|
|
type: "string"
|
|
|
|
|
|
externalDocs:
|
|
description: "Find out more about Swagger"
|
|
url: "http://swagger.io"
|