Commit 9e8070b0 authored by Mahdi Sellami's avatar Mahdi Sellami

Added OpenAPI specification

parent 22dfdaaf
openapi: 3.0.3
info:
title: OpenAPIs für E-Government
version: "0.0.3"
description: >-
This is a sample specification of the interfaces based on a project in the city of Munich for the public sector.
tags:
- name: info
description: Information about government administration services
- name: application
description: Application for an administration case
- name: status
description: Status information and documents of an administration case
- name: decision
description: Decision of an administration case
- name: verification
description: Verification of a decision of an administration case
paths:
/leistungen:
get:
tags:
- info
summary: Find information about the offered services
operationId: getAllServices
responses:
200:
description: Successful operation
content:
application/json:
schema:
properties:
services:
type: array
items:
$ref: '#/components/schemas/Service'
/leistungen/{leikaId}:
get:
tags:
- info
summary: Find information about a specific service by its LeiKa ID
operationId: getServiceByLeiKaId
parameters:
- name: leikaId
in: path
description: Leika ID
required: true
schema:
type: string
responses:
200:
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Service'
/verfahren:
post:
tags:
- application
summary: Submit a new application including the application documents for an administration case
operationId: postCaseApplication
requestBody:
description: Application details
content:
application/json:
schema:
$ref: '#/components/schemas/Verfahren'
required: true
responses:
200:
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Verfahren'
/verfahren/{verfahrensId}:
get:
tags:
- status
summary: Request the current status of an administration case by its case ID
operationId: getCaseByVerfahrensId
parameters:
- name: verfahrensId
in: path
required: true
schema:
type: string
responses:
200:
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Verfahren'
/verfahren/{verfahrensId}/dataobjects/entscheidung:
get:
tags:
- decision
summary: Request the decision document of an administration case by its case ID
operationId: getCaseDecisionDocumentByVerfahrensId
parameters:
- name: verfahrensId
in: path
required: true
schema:
type: string
responses:
200:
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/DataObject'
/verifications:
post:
tags:
- verification
summary: Submit a new verification request, e.g. to verify a decision document or a person
operationId: postVerifcationRequest
requestBody:
description: Decision details
content:
application/json:
schema:
properties:
type:
type: string
document:
$ref: '#/components/schemas/DataObject'
person:
$ref: '#/components/schemas/Person'
responses:
200:
description: Successful operation
content:
application/json:
schema:
$ref: '#/components/schemas/Verification'
/verifications/{verificationId}:
get:
tags:
- verification
summary: Request the status and outcome of a verification request by its verification ID
operationId: getVerificationByVerificationId
parameters:
- name: verificationId
in: path
required: true
schema:
type: string
responses:
200:
description: Successful operation
content:
application/Json:
schema:
$ref: '#/components/schemas/Verification'
components:
schemas:
Service:
type: object
properties:
leikaId:
type: string
serviceDescription:
type: string
shortText:
type: string
fullText:
type: string
responsibleAuthority:
type: string
fimMasterData:
type: object
description: FIM master data of this service
Verfahren:
type: object
properties:
verfahrensId:
type: string
leikaId:
type: string
responsibleAuthority:
type: string
statusId:
type: string
statusDescription:
type: string
statusLastChangeDate:
type: string
format: date-time
decisionDate:
type: string
format: date-time
decisionJustification:
type: string
applicant:
$ref: '#/components/schemas/Person'
dataObjects:
type: array
items:
$ref: '#/components/schemas/DataObject'
description: List of data objects related to this case, e.g. application and decision document
DataObject:
type: object
properties:
dataObjectId:
type: string
verfahrensId:
type: string
leikaId:
type: string
title:
type: string
type:
type: string
content:
type: object
Verification:
type: object
properties:
verificationId:
type: string
verificationType:
type: string
verificationDataObject:
$ref: '#/components/schemas/DataObject'
statusId:
type: string
statusDescription:
type: string
statusLastChangeDate:
type: string
format: date-time
approverPerson:
$ref: '#/components/schemas/Person'
Person:
type: object
properties:
personId:
type: string
prename:
type: string
surname:
type: string
email:
type: string
address:
type: object
properties:
street:
type: string
houseno:
type: string
zip:
type: string
city:
type: string
country:
type: string
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment