swagger: '2.0' info: description: To test the Multipass API version: '1.1' title: MULTIPASS termsOfService: Terms of service contact: name: MULTIPASS url: 'https://numerique.acta.asso.fr/multipass/' host: www.multipass.eu basePath: /wsMultipass/v100 tags: - name: Consents description: REST API for Consents - name: References description: REST API for References - name: Users description: REST API for Users paths: /consents: get: tags: - Consents summary: Retrieve the list of consents operationId: getConsentsUsingGET produces: - '*/*' parameters: - name: active in: query description: Active required: false type: boolean allowEmptyValue: false - name: collectorNumber in: query description: Collector Number required: false type: string allowEmptyValue: false - name: dataType in: query description: Data Type required: false type: string allowEmptyValue: false - name: databaseNumber in: query description: Database Number required: false type: string allowEmptyValue: false - name: farmerNumber in: query description: Farmer Number required: false type: string allowEmptyValue: false - name: supplierNumber in: query description: Supplier Number required: false type: string allowEmptyValue: false - name: useCase in: query description: Use Case required: false type: string allowEmptyValue: false responses: '200': description: Query successfully processed schema: $ref: '#/definitions/GetConsentReponseFull' '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false /consents/check: get: tags: - Consents summary: Check consent operationId: checkConsentUsingGET produces: - '*/*' parameters: - name: consentManagerNumber in: query description: Consent Manager Number required: false type: string allowEmptyValue: false - name: dataType in: query description: Data Type required: false type: array items: type: string collectionFormat: multi allowEmptyValue: false - name: databaseNumber in: query description: Database Number required: false type: string allowEmptyValue: false - name: farmerNumber in: query description: Farmer Number required: false type: string allowEmptyValue: false - name: supplierNumber in: query description: Supplier Number required: false type: string allowEmptyValue: false - name: useCase in: query description: Use Case required: false type: array items: type: string collectionFormat: multi allowEmptyValue: false responses: '200': description: Query successfully processed schema: $ref: '#/definitions/GetConsentsResponse' '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false /references: get: tags: - References summary: Retrieve list of references operationId: findAllUsingGET produces: - '*/*' parameters: - name: referenceType in: query description: referenceType required: true type: string responses: '200': description: Query successfully processed schema: $ref: '#/definitions/GetReferenceListResponse' '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false post: tags: - References summary: Create a reference operationId: createUserUsingPOST consumes: - application/json produces: - '*/*' parameters: - in: body name: reference description: Reference object required: false schema: $ref: '#/definitions/ReferenceDto' responses: '200': description: Query successfully processed schema: $ref: '#/definitions/ReferenceDto' '201': description: Created '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false '/references/{referenceId}': get: tags: - References summary: Retrieve a reference by referenceId operationId: findByUserIdUsingGET produces: - '*/*' parameters: - name: referenceId in: path description: Reference Id required: true type: integer format: int64 responses: '200': description: Query successfully processed schema: $ref: '#/definitions/GetReferenceResponse' '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false /users: get: tags: - Users summary: Retrieve the list of users operationId: getUsersUsingGET produces: - '*/*' parameters: - name: userType in: query description: User Type required: false type: string allowEmptyValue: false responses: '200': description: Query successfully processed schema: $ref: '#/definitions/GetUserListResponse' '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false post: tags: - Users summary: Create a user operationId: createUserUsingPOST_1 consumes: - application/json produces: - '*/*' parameters: - in: body name: user description: User object required: false schema: $ref: '#/definitions/UserDto' responses: '200': description: Query successfully processed schema: $ref: '#/definitions/GetUserResponse' '201': description: Created '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false '/users/{userId}': get: tags: - Users summary: Retrieve a user by userId operationId: findByUserIdUsingGET_1 produces: - '*/*' parameters: - name: userId in: path description: User Id required: true type: integer format: int64 responses: '200': description: Query successfully processed schema: $ref: '#/definitions/GetUserResponse' '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false patch: tags: - Users summary: Patch a user operationId: patchUserUsingPATCH consumes: - application/json produces: - '*/*' parameters: - in: body name: authentification description: Authentification object required: false schema: $ref: '#/definitions/AuthentificationDto' - name: userId in: path description: User Id required: true type: integer format: int64 responses: '200': description: Query successfully processed schema: $ref: '#/definitions/Generic' '204': description: No Content '400': description: Invalid request '401': description: Unauthorized '403': description: Forbidden '404': description: Not found '500': description: Internal server error security: - spring_oauth: [] deprecated: false securityDefinitions: spring_oauth: type: oauth2 tokenUrl: 'https://www.multipass.eu/wsMultipass/v100/oauth/token' flow: application definitions: Anomaly: type: object properties: errorCode: type: string errorDescription: type: string title: Anomaly AuthentificationDto: type: object properties: loginWS: type: string passwordWS: type: string title: AuthentificationDto CheckConsentResponse: type: object properties: anomaly: xml: name: Anomaly attribute: false wrapped: false $ref: '#/definitions/TypeAnomaly' existingConsent: type: boolean xml: name: ExistingConsent attribute: false wrapped: false result: type: boolean xml: name: Result attribute: false wrapped: false title: CheckConsentResponse xml: name: CheckConsentResponse attribute: false wrapped: false Consents: type: object properties: consent: type: array xml: name: Consent attribute: false wrapped: false items: $ref: '#/definitions/TypeConsent' title: Consents xml: name: Consents attribute: false wrapped: false Generic: type: object properties: anomaly: $ref: '#/definitions/Anomaly' result: type: boolean title: Generic GetConsentReponseFull: type: object properties: anomaly: $ref: '#/definitions/TypeAnomaly' consents: type: array items: $ref: '#/definitions/TypeConsentFull' result: type: boolean title: GetConsentReponseFull GetConsentsResponse: type: object properties: anomaly: xml: name: Anomaly attribute: false wrapped: false $ref: '#/definitions/TypeAnomaly' consents: xml: name: Consents attribute: false wrapped: false $ref: '#/definitions/Consents' result: type: boolean xml: name: Result attribute: false wrapped: false title: GetConsentsResponse xml: name: GetConsentsResponse attribute: false wrapped: false GetReferenceListResponse: type: object properties: anomaly: $ref: '#/definitions/Anomaly' referencesList: type: array items: $ref: '#/definitions/ReferenceViewDto' result: type: boolean title: GetReferenceListResponse GetReferenceResponse: type: object properties: anomaly: $ref: '#/definitions/Anomaly' reference: $ref: '#/definitions/ReferenceViewDto' result: type: boolean title: GetReferenceResponse GetUserListResponse: type: object properties: anomaly: $ref: '#/definitions/Anomaly' result: type: boolean usersList: type: array items: $ref: '#/definitions/UserViewDto' title: GetUserListResponse GetUserResponse: type: object properties: anomaly: $ref: '#/definitions/Anomaly' result: type: boolean user: $ref: '#/definitions/UserViewDto' title: GetUserResponse QName: type: object properties: localPart: type: string namespaceURI: type: string prefix: type: string title: QName ReferenceDto: type: object properties: labelingInformation: type: string orderNumber: type: string referenceBegin: type: string referenceEnd: type: string referenceType: type: string referenceValue: type: string wording: type: string title: ReferenceDto ReferenceViewDto: type: object properties: labelingInformation: type: string orderNumber: type: string referenceBegin: type: string referenceEnd: type: string referenceId: type: integer format: int64 referenceType: type: string referenceValue: type: string wording: type: string title: ReferenceViewDto TypeAnomaly: type: object properties: errorCode: type: string xml: name: ErrorCode attribute: false wrapped: false errorDescription: type: string xml: name: ErrorDescription attribute: false wrapped: false title: TypeAnomaly TypeConsent: type: object properties: anonymizationFlag: type: boolean xml: name: AnonymizationFlag attribute: false wrapped: false collectorNumber: type: string xml: name: CollectorNumber attribute: false wrapped: false consentBegin: xml: name: ConsentBegin attribute: false wrapped: false $ref: '#/definitions/XMLGregorianCalendar' consentEnd: xml: name: ConsentEnd attribute: false wrapped: false $ref: '#/definitions/XMLGregorianCalendar' contractFlag: type: boolean xml: name: ContractFlag attribute: false wrapped: false contractReference: type: string xml: name: ContractReference attribute: false wrapped: false dataBaseNumber: type: string xml: name: DataBaseNumber attribute: false wrapped: false dataType: type: string xml: name: DataType attribute: false wrapped: false farmerNumber: type: string xml: name: FarmerNumber attribute: false wrapped: false restriction: type: string xml: name: Restriction attribute: false wrapped: false reversibilityFlag: type: boolean xml: name: ReversibilityFlag attribute: false wrapped: false supplierNumber: type: string xml: name: SupplierNumber attribute: false wrapped: false useCase: type: string xml: name: UseCase attribute: false wrapped: false useCaseDescription: type: string xml: name: UseCaseDescription attribute: false wrapped: false title: TypeConsent xml: name: typeConsent attribute: false wrapped: false TypeConsentFull: type: object properties: anonymizationFlag: type: boolean xml: name: AnonymizationFlag attribute: false wrapped: false collectorNumber: type: string xml: name: CollectorNumber attribute: false wrapped: false consentBegin: xml: name: ConsentBegin attribute: false wrapped: false $ref: '#/definitions/XMLGregorianCalendar' consentEnd: xml: name: ConsentEnd attribute: false wrapped: false $ref: '#/definitions/XMLGregorianCalendar' consentManagerNumber: type: string contractFlag: type: boolean xml: name: ContractFlag attribute: false wrapped: false contractReference: type: string xml: name: ContractReference attribute: false wrapped: false dataBaseNumber: type: string xml: name: DataBaseNumber attribute: false wrapped: false dataType: type: string xml: name: DataType attribute: false wrapped: false farmerNumber: type: string xml: name: FarmerNumber attribute: false wrapped: false restriction: type: string xml: name: Restriction attribute: false wrapped: false reversibilityFlag: type: boolean xml: name: ReversibilityFlag attribute: false wrapped: false supplierNumber: type: string xml: name: SupplierNumber attribute: false wrapped: false useCase: type: string xml: name: UseCase attribute: false wrapped: false useCaseDescription: type: string xml: name: UseCaseDescription attribute: false wrapped: false title: TypeConsentFull xml: name: typeConsent attribute: false wrapped: false UserDto: type: object properties: addressLine1: type: string addressLine2: type: string countryCode: type: string department: type: string emailAddress: type: string information: type: string town: type: string urlCheckProviderConsent: type: string urlGetProviderConsent: type: string urlProviderAuth: type: string urlPutProviderConsent: type: string userBegin: type: string userEnd: type: string userName: type: string userNumber: type: string userType: type: string wsExhibitionType: type: string zipCode: type: string title: UserDto UserViewDto: type: object properties: addressLine1: type: string addressLine2: type: string countryCode: type: string department: type: string emailAddress: type: string information: type: string loginWs: type: string passwordWs: type: string town: type: string urlCheckProviderConsent: type: string urlGetProviderConsent: type: string urlProviderAuth: type: string urlPutProviderConsent: type: string userBegin: type: string userEnd: type: string userId: type: integer format: int64 userName: type: string userNumber: type: string userStatus: type: string userType: type: string wsExhibitionType: type: string zipCode: type: string title: UserViewDto XMLGregorianCalendar: type: object properties: day: type: integer format: int32 eon: type: integer eonAndYear: type: integer fractionalSecond: type: number hour: type: integer format: int32 millisecond: type: integer format: int32 minute: type: integer format: int32 month: type: integer format: int32 second: type: integer format: int32 timezone: type: integer format: int32 valid: type: boolean xmlschemaType: $ref: '#/definitions/QName' year: type: integer format: int32 title: XMLGregorianCalendar