openapi: 3.0.3 info: title: EPFL Actu News Categories Channels API description: Public REST API serving EPFL news ("Actu") content, with resources for news, projects, channels, faculties, categories, themes and publics. Converted faithfully from the published Django REST Framework CoreAPI schema at https://actu.epfl.ch/api-docs/?format=corejson. Only paths, parameters and objects observed in the real schema and live responses are included. Default access is unauthenticated; optional Token, Basic and Session authentication exist. version: v1 contact: name: EPFL Actu API url: https://actu.epfl.ch/api-docs/ servers: - url: https://actu.epfl.ch/api/v1 security: [] tags: - name: Channels paths: /channels/: get: operationId: listChannels summary: List all Channel objects. parameters: - $ref: '#/components/parameters/Limit' - $ref: '#/components/parameters/Offset' - $ref: '#/components/parameters/Search' responses: '200': description: A paginated list of channels. content: application/json: schema: $ref: '#/components/schemas/PaginatedChannelList' tags: - Channels /channels/{id}/: get: operationId: readChannel summary: Return the details about the given Channel id. parameters: - $ref: '#/components/parameters/StringId' - $ref: '#/components/parameters/Search' responses: '200': description: A single channel. content: application/json: schema: $ref: '#/components/schemas/Channel' tags: - Channels /channels/{id}/news/: get: operationId: listChannelNews summary: List news for a channel. parameters: - $ref: '#/components/parameters/StringId' responses: '200': description: News items for the channel. content: application/json: schema: $ref: '#/components/schemas/PaginatedNewsList' tags: - Channels /channels/{id}/projects/: get: operationId: listChannelProjects summary: List projects for a channel. parameters: - $ref: '#/components/parameters/StringId' responses: '200': description: Projects for the channel. content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectList' tags: - Channels components: schemas: Category: type: object properties: id: type: integer fr_label: type: string en_label: type: string de_label: type: string Faculty: type: object properties: id: type: integer name: type: string PaginatedChannelList: type: object properties: count: type: integer next: type: string format: uri nullable: true previous: type: string format: uri nullable: true results: type: array items: $ref: '#/components/schemas/Channel' Public: type: object properties: id: type: integer name: type: string Theme: type: object properties: id: type: integer name: type: string Project: type: object properties: id: type: integer title: type: string news_url: type: string format: uri PaginatedNewsList: type: object properties: count: type: integer next: type: string format: uri nullable: true previous: type: string format: uri nullable: true results: type: array items: $ref: '#/components/schemas/News' PaginatedProjectList: type: object properties: count: type: integer next: type: string format: uri nullable: true previous: type: string format: uri nullable: true results: type: array items: $ref: '#/components/schemas/Project' Channel: type: object properties: id: type: integer name: type: string fr_description: type: string en_description: type: string de_description: type: string is_active: type: boolean News: type: object properties: id: type: integer lang: type: string title: type: string subtitle: type: string text: type: string order: type: integer publish_date: type: string format: date-time visual_url: type: string format: uri nullable: true thumbnail_url: type: string format: uri nullable: true visual_description: type: string short_vimeo_video_id: type: string short_vimeo_video_credits: type: string carousel_images: type: array items: type: object video: type: string channel: $ref: '#/components/schemas/Channel' category: $ref: '#/components/schemas/Category' news_url: type: string format: uri themes: type: array items: $ref: '#/components/schemas/Theme' publics: type: array items: $ref: '#/components/schemas/Public' faculties: type: array items: $ref: '#/components/schemas/Faculty' projects: type: array items: $ref: '#/components/schemas/Project' authors: type: array items: type: object links: type: array items: type: object funding: type: string references: type: string is_under_cc_license: type: boolean parameters: Search: name: search in: query description: A search term. schema: type: string StringId: name: id in: path required: true description: A unique value identifying this object. schema: type: string Limit: name: limit in: query description: Number of results to return per page. schema: type: integer Offset: name: offset in: query description: The initial index from which to return the results. schema: type: integer securitySchemes: tokenAuth: type: apiKey in: header name: Authorization description: 'DRF Token authentication, e.g. "Authorization: Token ".' basicAuth: type: http scheme: basic