You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mv-api-spec/openapi/mv-openapi-root.yaml

73 lines
1.9 KiB

openapi: 3.0.0
info:
title: API Mieux Voter
description:
$ref: 'DESCRIPTION.md'
version: 1.0.1-oas3
termsOfService: 'https://github.com/MieuxVoter'
contact:
name: Mieux Voter App Development Team
email: app@mieuxvoter.fr
servers:
- url: 'https://api.mieuxvoter.fr/v1'
description: Main (production) server
- url: 'https://sandboxapi.mieuxvoter.fr/v1'
description: Internal staging server for testing
paths:
/polls:
$ref: paths/polls.yaml
'/polls/{poll-id}':
$ref: 'paths/polls@{poll-id}.yaml'
'/polls/{poll-id}/ballots':
$ref: 'paths/polls@{poll-id}@ballots.yaml'
'/polls/{poll-id}/ballots/{ballot-id}':
$ref: 'paths/polls@{poll-id}@ballots@{ballot-id}.yaml'
'/polls/{poll-id}/participants':
$ref: 'paths/polls@{poll-id}@participants.yaml'
'/polls/{poll-id}/participants/{participant-id}/':
$ref: 'paths/polls@{poll-id}@participants@{participant-id}@.yaml'
'/polls/{poll-id}/results':
$ref: 'paths/polls@{poll-id}@results.yaml'
/users:
$ref: paths/users.yaml
'/users/{user-id}':
$ref: 'paths/users@{user-id}.yaml'
tags:
- name: User Management
description: |
All the paths for:
- user creation
- authentication
- security
- trust levels
- name: Poll Indexation
description: >
Paths about indexing (public) polls.
- name: Poll Organization
description: >
Paths about organizing a poll.
- name: Poll Participation
description: >
Paths about participating to a poll.
- name: Poll Deliberation
description: >
Paths about deliberating using a poll.
components:
securitySchemes:
participantAuth:
type: http
scheme: bearer
# organizerAuth
pollAuth:
type: http
scheme: bearer
resultAuth:
type: http
scheme: bearer
userAuth:
type: http
scheme: bearer
adminAuth:
type: http
scheme: bearer