--- openapi: 3.1.0 components: schemas: AgbRevisionDto: description: Data transfer object representing an agb revision type: object properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the agb revision type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afb7 version: type: string description: Version of the agb revision examples: - "1.0" validFrom: $ref: "#/components/schemas/LocalDateTime" description: Date and time from which the agb revision is valid type: string enforceConsentFrom: $ref: "#/components/schemas/LocalDateTime" description: Date and time from which the agb revision enforces consent type: string agbText: $ref: "#/components/schemas/AgbTextDto" description: Data transfer object representing an agb text type: object AgbTextDto: type: object properties: de: type: string examples: -

AGB

maxLength: 50000 fr: type: string examples: -

CG

maxLength: 50000 it: type: string examples: -

CG

maxLength: 50000 BurDto: description: Data transfer object representing a bur type: object properties: bur: type: string farmTypeCode: $ref: "#/components/schemas/FarmTypeEnum" ConsentRequestAggregationProducerView: description: Data transfer object representing an aggregation of consent requests type: object required: - id properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the aggregation. Corresponds to the underlying data request ID. type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 dataProducerUid: type: string description: UID of the data producer examples: - CHE123456789 stateCode: $ref: "#/components/schemas/ConsentRequestAggregationStateEnum" description: Aggregated state derived from the states of the underlying consent requests type: string showStateAsMigrated: type: boolean description: Indicates whether the aggregated state originates from migrated consent requests examples: - true lastStateChangeDate: $ref: "#/components/schemas/LocalDateTime" description: Date and time when the state was changed last type: string examples: - 2025-06-16T11:04:51.823889 requestDate: $ref: "#/components/schemas/LocalDate" description: Date when the request was made type: string examples: - 2025-05-19 dataRequest: description: Details of the underlying data request type: object required: - id - stateCode - advantages properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the data request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afb7 dataProviderId: $ref: "#/components/schemas/UUID" description: Unique identifier of the data provider responsible for this data request. This value is derived from the data source systems of the associated data products. type: string examples: - e37b148b-9a0f-4c2e-80c5-fe9c9416b640 dataSourceSystemId: $ref: "#/components/schemas/UUID" dataSourceSystem: $ref: "#/components/schemas/DataSourceSystemReferenceDto" humanFriendlyId: type: string description: Human friendly id of the data request examples: - GL56 submissionDate: type: string format: date examples: - 2025-06-16T11:04:51.823889 description: Date and time when the data request was submitted title: $ref: "#/components/schemas/DataRequestTitleDto" description: Title of the data request type: object description: $ref: "#/components/schemas/DataRequestDescriptionDto" description: 'Description of the data request ' type: object purpose: $ref: "#/components/schemas/DataRequestPurposeDto" description: Purpose of the data request type: object products: type: array items: type: string format: uuid pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" description: List of data products requested stateCode: type: - string - object enum: - DRAFT - IN_REVIEW - TO_BE_SIGNED_BY_CONSUMER - TO_BE_RELEASED_BY_CONSUMER - TO_BE_SIGNED_BY_PROVIDER - TO_BE_RELEASED_BY_PROVIDER - TO_BE_ACTIVATED - ACTIVE description: State of the data request dataConsumerLegalName: type: string description: LegalName of the data consumer taken from the uid register examples: - "Bio Suisse, Vereinigung Schweizer Biolandbau-Organisationen" maxLength: 255 dataConsumerDisplayName: type: string description: Shorter name of the data consumer defined by the data consumer used when displaying the request to the producer examples: - Bio Suisse maxLength: 255 dataConsumerUid: type: string description: Uid of the data consumer examples: - CHE101708094 dataConsumerCity: type: string description: City of the data consumer examples: - Basel maxLength: 120 dataConsumerZip: type: string description: Zip code of the data consumer examples: - "4052" maxLength: 10 dataConsumerStreet: type: string description: Street of the data consumer examples: - Peter Merian-Str. 34 maxLength: 255 dataConsumerCountry: type: string description: 2 letter country code of the data consumer examples: - CH maxLength: 2 contactPhoneNumber: type: string description: Contact phone number for the data request examples: - +41 79 123 45 67 maxLength: 50 contactEmailAddress: type: string description: Contact email address for the data request examples: - example@labelorganisation.ch maxLength: 255 dataConsumerLogoBase64: type: string description: Base64-encoded logo of the data consumer examples: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." targetGroup: type: string maxLength: 150 validRedirectUriRegex: type: string description: Regex of valid redirect_uri. Must compile as regex successfully. examples: - ^https:\/\/www\.dummy-label-organisation\/.*$ maxLength: 255 currentContractRevisionId: $ref: "#/components/schemas/UUID" description: Id of current contract revision type: string consumerSignatureType: $ref: "#/components/schemas/SignatureTypeEnum" description: Signature type for consumer type: string providerSignatureType: $ref: "#/components/schemas/SignatureTypeEnum" description: Signature type for provider type: string advantages: type: array items: $ref: "#/components/schemas/DataRequestAdvantageDto" description: A list of advantages to the producer for sharing their data consentRequests: type: array items: $ref: "#/components/schemas/ConsentRequestProducerViewDto" ConsentRequestAggregationStateEnum: type: string enum: - GRANTED - OPENED - DECLINED - PARTIALLY_GRANTED - PARTIALLY_OPENED ConsentRequestConsumerViewDto: description: Data transfer object representing a consent request deprecated: true type: object required: - id properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the consent request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 dataProducerUid: type: string description: UID of the data producer examples: - CHE123456789 stateCode: $ref: "#/components/schemas/ConsentRequestStateEnum" ConsentRequestConsumerViewV2Dto: description: Data transfer object representing a consent request type: object required: - id properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the consent request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 dataProducerUid: type: string description: UID of the data producer examples: - CHE123456789 name: type: string description: Name of the uid examples: - Testorganisation AG stateCode: $ref: "#/components/schemas/ConsentRequestStateEnum" ConsentRequestCreatedDto: description: Data transfer object representing a consent request that has been created type: object required: - id - dataProducerUid properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the consent request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 dataProducerUid: type: string description: UID of the data producer examples: - CHE123456789 isCreated: type: boolean ConsentRequestFundamentalViewDto: description: Data transfer object representing a consent request type: object required: - id - dataRequestId properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the consent request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 dataRequestId: $ref: "#/components/schemas/UUID" description: Unique identifier of the corresponding data request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afb7 dataProducerUid: type: string description: UID of the data producer examples: - CHE123456789 dataProducerBur: type: string description: BUR of the data producer examples: - A123456 grantedDataPeriodFrom: $ref: "#/components/schemas/LocalDate" description: Start of the data period that is granted by this consent type: string examples: - 2024-06-16 grantedDataPeriodTo: $ref: "#/components/schemas/LocalDate" description: End of the data period that is granted by this consent type: string examples: - 2025-06-16 stateCode: $ref: "#/components/schemas/ConsentRequestStateEnum" description: State of the consent request type: string examples: - GRANTED lastModifiedDateTime: type: string format: datetime examples: - 2025-06-16T11:04:51.823889 description: Date and time of the most recent modification to the consent request ConsentRequestProducerViewDto: type: object description: Data transfer object representing a consent request required: - id properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the consent request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 dataProducerUid: type: string description: UID of the data producer examples: - CHE123456789 stateCode: $ref: "#/components/schemas/ConsentRequestStateEnum" showStateAsMigrated: type: boolean description: If the state should be shown as migrated examples: - true lastStateChangeDate: type: string format: date examples: - 2025-06-16T11:04:51.823889 description: Date and time when the state was changed last requestDate: $ref: "#/components/schemas/LocalDate" description: Date when the request was made type: string examples: - 2025-05-19 dataRequest: description: Details of the underlying data request type: object required: - id - stateCode - advantages properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the data request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afb7 dataProviderId: $ref: "#/components/schemas/UUID" description: Unique identifier of the data provider responsible for this data request. This value is derived from the data source systems of the associated data products. type: string examples: - e37b148b-9a0f-4c2e-80c5-fe9c9416b640 dataSourceSystemId: $ref: "#/components/schemas/UUID" dataSourceSystem: $ref: "#/components/schemas/DataSourceSystemReferenceDto" humanFriendlyId: type: string description: Human friendly id of the data request examples: - GL56 submissionDate: type: string format: date examples: - 2025-06-16T11:04:51.823889 description: Date and time when the data request was submitted title: $ref: "#/components/schemas/DataRequestTitleDto" description: Title of the data request type: object description: $ref: "#/components/schemas/DataRequestDescriptionDto" description: 'Description of the data request ' type: object purpose: $ref: "#/components/schemas/DataRequestPurposeDto" description: Purpose of the data request type: object products: type: array items: type: string format: uuid pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" description: List of data products requested stateCode: type: - string - object enum: - DRAFT - IN_REVIEW - TO_BE_SIGNED_BY_CONSUMER - TO_BE_RELEASED_BY_CONSUMER - TO_BE_SIGNED_BY_PROVIDER - TO_BE_RELEASED_BY_PROVIDER - TO_BE_ACTIVATED - ACTIVE description: State of the data request dataConsumerLegalName: type: string description: LegalName of the data consumer taken from the uid register examples: - "Bio Suisse, Vereinigung Schweizer Biolandbau-Organisationen" maxLength: 255 dataConsumerDisplayName: type: string description: Shorter name of the data consumer defined by the data consumer used when displaying the request to the producer examples: - Bio Suisse maxLength: 255 dataConsumerUid: type: string description: Uid of the data consumer examples: - CHE101708094 dataConsumerCity: type: string description: City of the data consumer examples: - Basel maxLength: 120 dataConsumerZip: type: string description: Zip code of the data consumer examples: - "4052" maxLength: 10 dataConsumerStreet: type: string description: Street of the data consumer examples: - Peter Merian-Str. 34 maxLength: 255 dataConsumerCountry: type: string description: 2 letter country code of the data consumer examples: - CH maxLength: 2 contactPhoneNumber: type: string description: Contact phone number for the data request examples: - +41 79 123 45 67 maxLength: 50 contactEmailAddress: type: string description: Contact email address for the data request examples: - example@labelorganisation.ch maxLength: 255 dataConsumerLogoBase64: type: string description: Base64-encoded logo of the data consumer examples: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." targetGroup: type: string maxLength: 150 validRedirectUriRegex: type: string description: Regex of valid redirect_uri. Must compile as regex successfully. examples: - ^https:\/\/www\.dummy-label-organisation\/.*$ maxLength: 255 currentContractRevisionId: $ref: "#/components/schemas/UUID" description: Id of current contract revision type: string consumerSignatureType: $ref: "#/components/schemas/SignatureTypeEnum" description: Signature type for consumer type: string providerSignatureType: $ref: "#/components/schemas/SignatureTypeEnum" description: Signature type for provider type: string advantages: type: array items: $ref: "#/components/schemas/DataRequestAdvantageDto" description: A list of advantages to the producer for sharing their data ConsentRequestStateEnum: description: | Possible states of a consent request: - GRANTED: Consent has been granted - OPENED: Consent request is open and awaiting response - DECLINED: Consent has been declined - NOT_CREATED: Placeholder to indicate that no consent request exists yet for a given UID. type: string enum: - GRANTED - OPENED - DECLINED - NOT_CREATED ContractRevisionDto: type: object required: - id - dataRequestId - dataConsumerName - dataConsumerCity - dataProviderName - dataProviderCity - dataRequestContext properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the data request type: string examples: - 24945B85-6E53-4059-8FB4-C0B0AC4FFD47 dataRequestId: $ref: "#/components/schemas/UUID" description: Identifier of the associated data request type: string examples: - 0D74F63F-9491-4B9B-80BA-0CA43A1A3A6F dataConsumerName: type: string description: LegalName of the data consumer taken from the uid register examples: - "Bio Suisse, Vereinigung Schweizer Biolandbau-Organisationen" dataConsumerCity: type: string description: City of the data consumer examples: - Basel dataProviderName: type: string description: Name of the data provider examples: - BLW dataProviderCity: type: string description: City of the data provider examples: - Bern dataRequestContext: $ref: "#/components/schemas/DataRequestContextDto" description: "Contextual information from the parent data request (e.g.\ \ logo, reduced metadata)" type: object consumerSignatures: type: array items: $ref: "#/components/schemas/ContractRevisionSignatureDto" description: List of signatures of the data consumer providerSignatures: type: array items: $ref: "#/components/schemas/ContractRevisionSignatureDto" description: List of signatures of the data provider consumerSignatureType: $ref: "#/components/schemas/SignatureTypeEnum" description: Defines whether the consumer party uses a individual or a collective signature type: string providerSignatureType: $ref: "#/components/schemas/SignatureTypeEnum" description: Defines whether the provider party uses a individual or a collective signature type: string sealState: $ref: "#/components/schemas/SealAttemptStateEnum" description: Defines the sealing state of the contract type: string ContractRevisionSignatureDto: type: object required: - signatureSlotCode - userId - name - timestamp properties: signatureSlotCode: $ref: "#/components/schemas/SignatureSlotCodeEnum" description: Slot in which the signature is stored type: string examples: - DATA_CONSUMER_01 userId: $ref: "#/components/schemas/UUID" description: ID of the user type: string examples: - 43FAB890-492E-4EEB-9B65-F4A4FB3DD74E name: type: string description: Name of the user of the signature examples: - John Doe timestamp: $ref: "#/components/schemas/LocalDateTime" description: Timestamp of when the signature was added type: string examples: - 2026-03-19T12:00:00 CreateConsentRequestDto: type: object required: - dataRequestId - uid properties: dataRequestId: $ref: "#/components/schemas/UUID" uid: type: string DataProductDescriptionDto: type: object properties: de: type: string description: German description of the data product examples: - Dieses Datenprodukt enthält Angaben zu Kontrollen aus dem Kontrollbereich 03 Tierschutz mit den Ergebnissen pro Kontrollpunkt. Maximal die letzten 4 Jahre oder seit Bewirtschafterwechsel. fr: type: string description: French description of the data product examples: - Ce produit de données contient des informations sur les contrôles du domaine de contrôle 03 Protection des animaux avec les résultats par point de contrôle. Maximum les 4 dernières années ou depuis le changement d'exploitant. it: type: string description: Italian description of the data product examples: - Questo prodotto dati contiene informazioni sui controlli dell'area di controllo 03 Protezione degli animali con i risultati per punto di controllo. Massimo gli ultimi 4 anni o dal cambio di gestore. DataProductDocumentMetadataDto: type: object required: - id - fileName - sizeBytes - scanStatus properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the product type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afb7 fileName: type: string description: Filename of the document examples: - example.pdf sizeBytes: type: integer format: int64 description: Filesize of the document examples: - 1024 scanStatus: $ref: "#/components/schemas/DocumentScanStatusEnum" description: Status of the document scan type: string examples: - AVAILABLE DataProductDto: type: object required: - id - stateCode properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the product type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afb7 dataSourceSystemCode: type: string description: Code of data source system from which this product originates examples: - AGIS dataSourceSystem: $ref: "#/components/schemas/DataSourceSystemDto" description: Data source system from which this product originates type: object restClient: $ref: "#/components/schemas/RestClientDto" description: Rest client used to fetch the data product type: object restClientPathTemplate: type: string description: Template for the path where the data product is fetched from restClientRequestTemplate: type: string description: Template of the request body for fetching the data product restClientMethodCode: $ref: "#/components/schemas/RestClientMethodCodeEnum" description: Http-Method used to fetch the data product type: string flowCode: $ref: "#/components/schemas/FlowCodeEnum" description: Code of the flow used to fetch the data product type: string name: $ref: "#/components/schemas/TranslationDto" description: How this product is categorized type: object examples: - R01 description: $ref: "#/components/schemas/TranslationDto" description: Description of the product type: object links: type: array items: $ref: "#/components/schemas/LinkDto" description: List of relevant product links extendedDescription: $ref: "#/components/schemas/TranslationDto" description: Extended product details type: object deprecatedSince: $ref: "#/components/schemas/LocalDateTime" description: Timestamp indicating when the product was marked as deprecated. type: string examples: - 2026-03-06T00:00:00 stateCode: type: - string - object enum: - DRAFT - ACTIVE description: State of the data product examples: - DRAFT restClientChangeDetectionPathTemplate: type: string description: Template for the path for retrieving updates to the data product examples: - "v1/animal-updates/{{uid}}?since={{LAST_CHANGED_SINCE}}" DataProductExtendedDescriptionDto: type: object properties: de: type: string description: German extended description of the data product examples: - |- Konkret werden folgende Daten übermittelt: - Datum der Erfassung bzw. der letzten Änderung dieses Datensatzes im kantonalen System - KT_ID_B Kantonale Identifikationsnummer der Betriebsform auf der Stufe, auf der die nachfolgenden Daten... maxLength: 1000 fr: type: string description: French extended description of the data product examples: - |- Concrètement, les données suivantes sont transmises : - Date resp. la saisie ou la dernière modification du jeu de données dans le système cantonal - KT_ID_B Numéro cantonal de la forme d’exploitation au niveau de laquelle les données suivantes ont été saisies... maxLength: 1000 it: type: string description: Italian extended description of the data product examples: - |- Concretamente vengono trasmessi i dati seguenti: - Data di registrazione o dell’ultima modifica di questo set di dati nel sistema cantonale - KT_ID_B Numero d’identificazione cantonale della forma di azienda al livello a cui sono stati registrati i dati... maxLength: 1000 DataProductNameDto: type: object properties: de: type: string description: German name of the data product examples: - Tierschutz fr: type: string description: French name of the data product examples: - Protection des animaux it: type: string description: Italian name of the data product examples: - Protezione degli animali DataProductStateEnum: type: string enum: - DRAFT - ACTIVE DataProductUpdateDto: description: Data transfer object representing a data product type: object properties: name: $ref: "#/components/schemas/DataProductNameDto" description: Name of the data product type: object description: $ref: "#/components/schemas/DataProductDescriptionDto" description: Description of the data product type: object dataSourceSystemId: $ref: "#/components/schemas/UUID" description: UUID of DataSourceSystem type: string examples: - 5335d715-e95c-4777-a424-ab73f2ff5618 restClientId: $ref: "#/components/schemas/UUID" description: UUID of rest client code type: string examples: - b1398c9d-c28d-4e7e-b5f0-f5d615a6471c restClientPathTemplate: type: string description: Template for the path from which the data product will be fetched examples: - "v1/animal/{{uid}}" maxLength: 1000 restClientRequestTemplate: type: string description: Template for the path from which the data product will be fetched examples: - "{\"search\":{\"uid\":\"{{uid}}\"}}" maxLength: 1000 restClientMethodCode: $ref: "#/components/schemas/RestClientMethodCodeEnum" description: The http-method used to fetch the data product type: string examples: - GET flowCode: $ref: "#/components/schemas/FlowCodeEnum" description: The flow code used for authorizing data retrieval type: string examples: - UID_BASED_PRE_VALIDATION restClientChangeDetectionPathTemplate: type: string description: Template for the path for retrieving updates to the data product examples: - "v1/animal-updates/{{uid}}?since={{LAST_CHANGED_SINCE}}" maxLength: 1000 links: type: array items: $ref: "#/components/schemas/LinkDto" description: List of relevant product links maxItems: 5 extendedDescription: $ref: "#/components/schemas/DataProductExtendedDescriptionDto" description: Extended product details type: object DataProviderDto: type: object required: - id properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the provider type: string code: type: string description: Stable technical code of the provider examples: - BLW name: $ref: "#/components/schemas/TranslationDto" description: Display name of the provider type: object uid: type: string description: UID of the data provider examples: - CHE123456789 DataProviderExceptionDto: type: object properties: message: type: string requestId: type: string exceptionType: $ref: "#/components/schemas/ExceptionEnum" dataProviderHttpStatus: type: integer format: int32 dataProviderMessage: type: string DataProviderReferenceDto: type: object properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the provider type: string code: type: string description: Stable technical code of the provider examples: - BLW name: $ref: "#/components/schemas/TranslationDto" description: Display name of the provider type: object uid: type: string description: UID of the data provider examples: - CHE123456789 DataRequestAdvantageDto: type: object properties: de: type: string examples: - Vermeiden von Mehreingaben fr: type: string examples: - Éviter les saisies multiples it: type: string examples: - Evitare inserimenti multipli DataRequestContextDto: description: Data transfer object representing a minimal version of a data request for UI/UX use. type: object properties: dataConsumerLogoBase64: type: string description: Base64-encoded logo of the data consumer examples: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." DataRequestDescriptionDto: type: object properties: de: type: string description: Description of the data request examples: - "Ziel der Anfrage ist es, Informationen über Bodentypen und deren Qualitä\ t zu erhalten, um fundierte Entscheidungen zur Fruchtfolge, Düngung und\ \ nachhaltigen Bewirtschaftung treffen zu können." fr: type: string description: Description de la demande de données examples: - "L'objectif de la demande est d'obtenir des informations sur les types\ \ de sols et leur qualité afin de prendre des décisions éclairées concernant\ \ la rotation des cultures, la fertilisation et la gestion durable." it: type: string description: Descrizione della richiesta di dati examples: - "L'obiettivo della richiesta è ottenere informazioni sui tipi di suolo\ \ e sulla loro qualità per prendere decisioni informate sulla rotazione\ \ delle colture, la fertilizzazione e la gestione sostenibile." DataRequestDto: description: Details of the underlying data request type: object required: - id - stateCode - advantages properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the data request type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afb7 dataProviderId: $ref: "#/components/schemas/UUID" description: Unique identifier of the data provider responsible for this data request. This value is derived from the data source systems of the associated data products. type: string examples: - e37b148b-9a0f-4c2e-80c5-fe9c9416b640 dataSourceSystemId: $ref: "#/components/schemas/UUID" dataSourceSystem: $ref: "#/components/schemas/DataSourceSystemReferenceDto" humanFriendlyId: type: string description: Human friendly id of the data request examples: - GL56 submissionDate: type: string format: date examples: - 2025-06-16T11:04:51.823889 description: Date and time when the data request was submitted title: $ref: "#/components/schemas/DataRequestTitleDto" description: Title of the data request type: object description: $ref: "#/components/schemas/DataRequestDescriptionDto" description: 'Description of the data request ' type: object purpose: $ref: "#/components/schemas/DataRequestPurposeDto" description: Purpose of the data request type: object products: type: array items: type: string format: uuid pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" description: List of data products requested stateCode: type: - string - object enum: - DRAFT - IN_REVIEW - TO_BE_SIGNED_BY_CONSUMER - TO_BE_RELEASED_BY_CONSUMER - TO_BE_SIGNED_BY_PROVIDER - TO_BE_RELEASED_BY_PROVIDER - TO_BE_ACTIVATED - ACTIVE description: State of the data request dataConsumerLegalName: type: string description: LegalName of the data consumer taken from the uid register examples: - "Bio Suisse, Vereinigung Schweizer Biolandbau-Organisationen" maxLength: 255 dataConsumerDisplayName: type: string description: Shorter name of the data consumer defined by the data consumer used when displaying the request to the producer examples: - Bio Suisse maxLength: 255 dataConsumerUid: type: string description: Uid of the data consumer examples: - CHE101708094 dataConsumerCity: type: string description: City of the data consumer examples: - Basel maxLength: 120 dataConsumerZip: type: string description: Zip code of the data consumer examples: - "4052" maxLength: 10 dataConsumerStreet: type: string description: Street of the data consumer examples: - Peter Merian-Str. 34 maxLength: 255 dataConsumerCountry: type: string description: 2 letter country code of the data consumer examples: - CH maxLength: 2 contactPhoneNumber: type: string description: Contact phone number for the data request examples: - +41 79 123 45 67 maxLength: 50 contactEmailAddress: type: string description: Contact email address for the data request examples: - example@labelorganisation.ch maxLength: 255 dataConsumerLogoBase64: type: string description: Base64-encoded logo of the data consumer examples: - "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." targetGroup: type: string maxLength: 150 validRedirectUriRegex: type: string description: Regex of valid redirect_uri. Must compile as regex successfully. examples: - ^https:\/\/www\.dummy-label-organisation\/.*$ maxLength: 255 currentContractRevisionId: $ref: "#/components/schemas/UUID" description: Id of current contract revision type: string consumerSignatureType: $ref: "#/components/schemas/SignatureTypeEnum" description: Signature type for consumer type: string providerSignatureType: $ref: "#/components/schemas/SignatureTypeEnum" description: Signature type for provider type: string advantages: type: array items: $ref: "#/components/schemas/DataRequestAdvantageDto" description: A list of advantages to the producer for sharing their data DataRequestPurposeDto: type: object properties: de: type: string examples: - Bewertung der Bodenqualität fr: type: string examples: - Évaluation de la qualité du sol it: type: string examples: - Valutazione della qualità del suolo DataRequestStateEnum: type: string enum: - DRAFT - IN_REVIEW - TO_BE_SIGNED_BY_CONSUMER - TO_BE_RELEASED_BY_CONSUMER - TO_BE_SIGNED_BY_PROVIDER - TO_BE_RELEASED_BY_PROVIDER - TO_BE_ACTIVATED - ACTIVE DataRequestTitleDto: type: object properties: de: type: string examples: - Anfrage zu Bodentypen und Bodenqualitätsdaten fr: type: string examples: - Demande sur les types de sols et les données de qualité du sol it: type: string examples: - Richiesta sui tipi di suolo e sui dati sulla qualità del suolo DataRequestUpdateDto: description: Data transfer object representing a data request type: object properties: title: $ref: "#/components/schemas/DataRequestTitleDto" description: Title of the data request type: object description: $ref: "#/components/schemas/DataRequestDescriptionDto" description: 'Description of the data request ' type: object purpose: $ref: "#/components/schemas/DataRequestPurposeDto" description: Purpose of the data request type: object dataConsumerDisplayName: type: string description: Shorter name of the data consumer defined by the data consumer used when displaying the request to the producer examples: - Bio Suisse dataConsumerCity: type: string description: City of the data consumer examples: - Basel dataConsumerZip: type: string description: Zip code of the data consumer examples: - "4052" dataConsumerStreet: type: string description: Street of the data consumer examples: - Peter Merian-Str. 34 dataConsumerCountry: type: string description: 2 letter country code of the data consumer examples: - CH contactPhoneNumber: type: string description: Contact phone number for the data request examples: - +41 79 123 45 67 maxLength: 50 contactEmailAddress: type: string description: Contact email address for the data request examples: - example@labelorganisation.ch maxLength: 255 targetGroup: type: string description: Target group of the data request examples: - von allen Bio Suisse Mitgliedern products: type: array items: type: string format: uuid pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" description: List of data products requested examples: - - c661ea48-106d-4d7a-a5d1-a9a6db48dd8c advantages: type: array items: $ref: "#/components/schemas/DataRequestAdvantageDto" description: A list of advantages to the producer for sharing their data required: - advantages DataRequestValidRedirectUriRegexUpdateDto: type: object properties: validRedirectUriRegex: type: string description: Regex used to validate redirect_uri values for this data request. Must compile as regex successfully. examples: - "^https:\\/\\/([A-Za-z0-9-]+\\.)*bio-suisse\\.ch(\\/.*)?$" maxLength: 255 DataSourceSystemDto: type: object required: - id - dataProvider properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the source type: string code: type: string description: Stable technical code of the source examples: - AGIS name: $ref: "#/components/schemas/TranslationDto" description: Display name of the data source type: object dataProvider: $ref: "#/components/schemas/DataProviderDto" description: Reference to the data provider type: object DataSourceSystemReferenceDto: type: object properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the source type: string code: type: string description: Stable technical code of the source examples: - AGIS name: $ref: "#/components/schemas/TranslationDto" description: Display name of the data source type: object dataProvider: $ref: "#/components/schemas/DataProviderReferenceDto" description: Reference to the data provider type: object required: - dataProvider DataTransferResponse: description: Response containing the requested product data and metadata about the request. type: object properties: data: description: Contains the requested product data. dataTransferRequestId: type: string description: Unique identifier for the data transfer request (uuid) consentRequestId: $ref: "#/components/schemas/UUID" description: Identifier of the corresponding consent request type: string DocumentScanStatusEnum: type: string enum: - PENDING_SCAN - AVAILABLE - REJECTED - SCAN_FAILED ExceptionDto: type: object properties: message: type: string requestId: type: string type: $ref: "#/components/schemas/ExceptionEnum" debugMessage: type: string required: - requestId ExceptionDto1: type: object properties: message: type: string requestId: type: string type: $ref: "#/components/schemas/ExceptionEnum" status: type: integer format: int32 debugMessage: type: string ExceptionEnum: type: string enum: - GENERIC - UID_MISSING - EXTERNAL_SERVICE_ERROR - CONSENT_NOT_GRANTED - OTP_INVALID - OTP_LOCKED - OTP_EXPIRED - OTP_RESEND_COOLDOWN - DATA_PROVIDER_ERROR - MAINTENANCE FarmTypeEnum: type: string enum: - GANZJAHRESBETRIEB - PRODUKTIONSSTAETTE - GEMEINSCHAFTSWEIDEBETRIEB - SOEMMERUNGSBETRIEB - BETRIEBSGEMEINSCHAFT - VIEHHANDELSUNTERNEHMEN - WANDERHERDE - TIERKLINIK - SCHLACHTBETRIEB - VIEHMAERKTE_UND_VERANSTALTUNGEN - BETRIEBSZWEIGGEMEINSCHAFT - NICHTKOMMERZIELLE_TIERHALTUNG - OELN_GEMEINSCHAFT - VERGAERUNG_KOMPOSTIERUNG_NAEHRSTOFFPOOL - TIERHALTUNG - NICHT_ZUGETEILT - UNKNOWN FlowCodeEnum: type: string enum: - UID_BASED_PRE_VALIDATION - UID_BASED_POST_VALIDATION - BUR_BASED_PRE_VALIDATION - BUR_BASED_POST_VALIDATION - UNBOUND_POST_VALIDATION InboxEntryDto: type: object properties: id: $ref: "#/components/schemas/UUID" title: $ref: "#/components/schemas/TranslationDto" text: $ref: "#/components/schemas/TranslationDto" userId: $ref: "#/components/schemas/UUID" isRead: type: boolean createdAt: $ref: "#/components/schemas/LocalDateTime" targetType: $ref: "#/components/schemas/TargetTypeCodeEnum" targetId: $ref: "#/components/schemas/UUID" LegalFormEnum: type: string enum: - NATUERLICHE_PERSON - EINFACHE_GESELLSCHAFT - KOLLEKTIVGESELLSCHAFT - KOMMANDITGESELLSCHAFT - KOMMANDITAKTIENGESELLSCHAFT - AKTIENGESELLSCHAFT - GMBH - GENOSSENSCHAFT - VEREIN - STIFTUNG - OEFF_RECHT_KOERPERSCHAFT_VERWALTUNG - LANDESKIRCHE - BUND - KANTON - BEZIRK - GEMEINDE - OEFF_RECHT_KOERPERSCHAFT_BETRIEB - EQUIDENEIGENTUEMER - UNKNOWN LinkDto: type: object properties: url: type: string maxLength: 2048 displayText: type: string maxLength: 255 LocalDate: type: string format: date examples: - 2022-03-10 LocalDateTime: type: string format: date-time examples: - 2022-03-10T12:15:50 MarkAsReadRequestDto: type: object properties: inboxIds: type: array items: type: string format: uuid pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" OtpChallengeDto: type: object properties: challengeId: $ref: "#/components/schemas/UUID" description: Unique identifier of the challenge type: string examples: - F259F6C6-8C31-4809-AF3E-1C11379E9D32 expiresAt: $ref: "#/components/schemas/LocalDateTime" description: Expiration time of the challenge type: string examples: - 2026-03-19T12:00:00Z maskedPhoneNumber: type: string description: Masked phone number examples: - '***********8' retryAfterSeconds: type: integer format: int64 description: Number of remaining attempts examples: - 30 PageResponseDto: description: Generic paginated response wrapper. type: object required: - items - totalItems - totalPages - currentPage - pageSize properties: items: type: array items: {} description: List of items on the current page. totalItems: type: integer format: int64 description: Total number of items across all pages. examples: - 42 totalPages: type: integer format: int32 description: Total number of pages available. examples: - 5 currentPage: type: integer format: int32 description: Current page number (0-based ). examples: - 1 pageSize: type: integer format: int32 description: Number of items per page. examples: - 10 PageResponseDtoConsentRequestFundamentalViewDto: description: Generic paginated response wrapper. type: object required: - items - totalItems - totalPages - currentPage - pageSize properties: items: type: array items: $ref: "#/components/schemas/ConsentRequestFundamentalViewDto" description: List of items on the current page. totalItems: type: integer format: int64 description: Total number of items across all pages. examples: - 42 totalPages: type: integer format: int32 description: Total number of pages available. examples: - 5 currentPage: type: integer format: int32 description: Current page number (0-based ). examples: - 1 pageSize: type: integer format: int32 description: Number of items per page. examples: - 10 PageResponseDtoDataProductDto: description: Generic paginated response wrapper. type: object required: - items - totalItems - totalPages - currentPage - pageSize properties: items: type: array items: $ref: "#/components/schemas/DataProductDto" description: List of items on the current page. totalItems: type: integer format: int64 description: Total number of items across all pages. examples: - 42 totalPages: type: integer format: int32 description: Total number of pages available. examples: - 5 currentPage: type: integer format: int32 description: Current page number (0-based ). examples: - 1 pageSize: type: integer format: int32 description: Number of items per page. examples: - 10 PageResponseDtoInboxEntryDto: description: Generic paginated response wrapper. type: object required: - items - totalItems - totalPages - currentPage - pageSize properties: items: type: array items: $ref: "#/components/schemas/InboxEntryDto" description: List of items on the current page. totalItems: type: integer format: int64 description: Total number of items across all pages. examples: - 42 totalPages: type: integer format: int32 description: Total number of pages available. examples: - 5 currentPage: type: integer format: int32 description: Current page number (0-based ). examples: - 1 pageSize: type: integer format: int32 description: Number of items per page. examples: - 10 PageResponseDtoUserInfoDto: description: Generic paginated response wrapper. type: object required: - items - totalItems - totalPages - currentPage - pageSize properties: items: type: array items: $ref: "#/components/schemas/UserInfoDto" description: List of items on the current page. totalItems: type: integer format: int64 description: Total number of items across all pages. examples: - 42 totalPages: type: integer format: int32 description: Total number of pages available. examples: - 5 currentPage: type: integer format: int32 description: Current page number (0-based ). examples: - 1 pageSize: type: integer format: int32 description: Number of items per page. examples: - 10 ProducerIdentifier: type: object properties: uid: type: string description: Producer UID examples: - CHE123456789 bur: type: - string - "null" description: "Producer BUR, only set when the producer must additionally\ \ be identified by BUR." examples: - A12345678 ResourceQueryDto: type: object properties: page: type: integer format: int32 description: page number minimum: 0 size: type: integer format: int32 description: page size maximum: 100 minimum: 1 sortParams: type: array items: type: string description: List of field names to sort by. Default is ascending prefix with - for descending searchTerm: type: string description: string to search for in the resource language: type: string description: language code for multilingual fields. Must be supported by application. RestClientDto: type: object properties: id: $ref: "#/components/schemas/UUID" description: Unique identifier of the rest client type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afb7 code: type: string description: Stable technical code of the rest client examples: - AGIS_API displayName: type: string description: "Human-readable name of the REST client, intended for display\ \ in user interfaces" examples: - Agis url: type: string description: Base URL of the external API accessed by this REST client examples: - http://example.com/agis RestClientMethodCodeEnum: type: string enum: - POST - GET SealAttemptStateEnum: type: string enum: - NOT_STARTED - IN_PROGRESS - COMPLETED - FAILED SignatureSlotCodeEnum: type: string enum: - DATA_CONSUMER_01 - DATA_CONSUMER_02 - DATA_PROVIDER_01 - DATA_PROVIDER_02 SignatureTypeEnum: type: string enum: - INDIVIDUAL_SIGNATURE - COLLECTIVE_SIGNATURE TargetTypeCodeEnum: type: string enum: - DATA_REQUEST TranslationDto: type: object properties: de: type: string maxLength: 4000 fr: type: string maxLength: 4000 it: type: string maxLength: 4000 UUID: type: string format: uuid pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}" UidDto: description: Data transfer object representing an uid type: object required: - uid properties: uid: type: string name: type: string legalFormCode: $ref: "#/components/schemas/LegalFormEnum" UidRegisterAddressDto: type: object properties: street: type: string zip: type: string city: type: string country: type: string UidRegisterOrganisationDto: type: object properties: name: type: string legalName: type: string uid: type: string address: $ref: "#/components/schemas/UidRegisterAddressDto" UserInfoDto: description: "Represents basic user information, such as name, contact details,\ \ and address." type: object properties: userId: $ref: "#/components/schemas/UUID" description: Unique identifier assigned by Agridata to a user (UUID format). type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 agateLoginId: type: string description: AgateLoginId of the user. examples: - "1234567" ktIdP: type: string description: KtIdP of the user. Only set for data producers examples: - ZH123456 uid: type: string description: UID of the user. Only set for data consumers. examples: - CHE123456789 givenName: type: string description: User's first name. examples: - Anna familyName: type: string description: User's last name. examples: - Muster email: type: string description: Email address of the user examples: - anna.muster@example.com phoneNumber: type: string description: Landline number of the user examples: - "+41331234567" mobileNumber: type: string description: Mobile number of the user examples: - "+41791234567" addressStreet: type: string description: Street name and house number of the user's residence. examples: - Bahnhofstrasse 10 addressLocality: type: string description: Locality (city or town) of the user's residence. examples: - Zürich addressPostalCode: type: string description: Postal code of the user's residence. examples: - "8001" addressCountry: type: string description: Country of residence examples: - CH lastLoginDate: $ref: "#/components/schemas/LocalDateTime" description: Date and time when the user last logged into the system. type: string examples: - 2025-08-27T14:35:00 userPreferences: $ref: "#/components/schemas/UserPreferencesDto" description: Preferences of the user in the frontend type: object rolesAtLastLogin: type: array items: type: string description: Roles of the user at the last login lastAcceptedAgbDate: $ref: "#/components/schemas/LocalDateTime" description: Date and time when the user last accepted the AGB. type: string examples: - 2026-07-20T14:35:00 lastAcceptedAgbRevisionId: $ref: "#/components/schemas/UUID" description: Unique identifier of the AGB revision the user last accepted. type: string examples: - 3fa85f64-5717-4562-b3fc-2c963f66afa6 UserPreferencesDto: type: object properties: mainMenuOpened: type: boolean description: If the main menu is opened or closed. examples: - true activeUid: type: string description: the active uid of the producer examples: - CHE123456789 dismissedMigratedIds: type: array items: type: string description: consent request ids for which we dont want to show migration notices anymore examples: - - a5b1d2e3-4f6a-2b7c-6d0e-9f1a3b5c7d9e hasSeenConsentRequestTourIntro: type: boolean description: Indicates whether the user has already seen the consent request feature tour introduction. examples: - true VerifyOtpRequestDto: type: object required: - otpCode properties: otpCode: type: string description: The 6-digit code to be verified. examples: - "123456" pattern: "^\\d{6}$" securitySchemes: SecurityScheme: type: openIdConnect description: Authentication openIdConnectUrl: http://localhost:6999/realms/agate/.well-known/openid-configuration tags: - name: Agb Revision description: Provides access to Agb revisions. - name: Consent Request Aggregations description: Provides access to aggregated consent requests for data producers. Each aggregation groups consent requests by the data request they belong to. - name: Consent Requests description: "Provides access to consent requests for data producers, consumers,\ \ and admins. Data producers can retrieve and update consent requests assigned\ \ to them, consumers can access consent requests linked to their data requests,\ \ and admins have full access to all consent requests." - name: Contract Revisions description: Provides access to contract revisions for consumers and providers - name: Data Products description: Enables retrieval of available data products that can be requested and used by Users in the data sharing process. - name: Data Providers description: Enables retrieval of data providers and their available data products. - name: Data Requests description: "Provides access to data requests for consumers and admins. Consumers\ \ can create, update, submit, and retrieve their own data requests, while admins\ \ have full access to all data requests and their associated consent requests." - name: Data Transfer description: "Relays data products that belong to a producer, identified by a specific\ \ UID or local BUR local unit Id. Before any data is transferred, the producer\ \ must have accepted an active data request that includes the requested product.\ \ This endpoint simply forwards the payload from the source system to the consumer." - name: Data Transfer V2 - name: Notifications description: "Provides access to user notifications including inbox listing, marking\ \ as read, and queuing notifications." - name: Test Data - name: UID Register Search description: Provides access to organisation details retrieved from the official UID register. - name: Users description: "Provides access to UIDs and BURs authorized for specific data producers,\ \ based on their ktIdP or UID." paths: /api/agreement/v1/consent-request-aggregations: get: description: "Retrieves aggregated consent requests for the current data producer,\ \ grouped by data request." operationId: getConsentRequestAggregations tags: - Consent Request Aggregations parameters: - description: Filter to retrieve consent requests for a specific producer UID. example: CHE101000001 name: dataProducerUid required: true in: query schema: type: string pattern: "^(?:CHE|ZZZ)\\d{9}$" responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ConsentRequestAggregationProducerView" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Consent Request Aggregations security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Support x-api-subset: - Mobile App - agridata.ch Web App /api/agreement/v1/consent-requests: get: description: Retrieves all consent requests assigned to the currently authenticated data producer. Only accessible to users with the producer role. operationId: getConsentRequests tags: - Consent Requests parameters: - description: "Optional filter to retrieve consent requests for a specific\ \ producer UID. If not provided, all requests for the currently authenticated\ \ producer are returned." example: CHE101000001 name: dataProducerUid in: query schema: type: string pattern: "^(?:CHE|ZZZ)\\d{9}$" responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ConsentRequestProducerViewDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Consent Requests For Current Data Producer security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Support x-api-subset: - Mobile App - agridata.ch Web App post: description: "Creates consent requests for given uids, provided the user actually\ \ has access to those uids." operationId: createConsentRequests tags: - Consent Requests requestBody: content: application/json: schema: type: array items: $ref: "#/components/schemas/CreateConsentRequestDto" required: true responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ConsentRequestCreatedDto" "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Create Consent Requests security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger x-api-subset: agridata.ch Web App /api/agreement/v1/consent-requests/{id}: get: description: "Retrieves consent request with {id} if the authenticated data\ \ producer is assigned to it. " operationId: getConsentRequest tags: - Consent Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ConsentRequestProducerViewDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Consent Request security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Support x-api-subset: agridata.ch Web App /api/agreement/v1/consent-requests/{id}/status: put: description: Updates the status of a specific consent request. Only accessible to the data producer assigned to the consent request. operationId: updateConsentRequestStatus tags: - Consent Requests parameters: - description: ID of the consent request required: true name: id in: path schema: $ref: "#/components/schemas/UUID" requestBody: description: New status of the consent request content: application/json: schema: $ref: "#/components/schemas/ConsentRequestStateEnum" required: true responses: "204": description: No Content "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Update Consent Request State For Current Data Producer security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger x-api-subset: - Mobile App - agridata.ch Web App /api/agreement/v1/contract-revisions/{id}: get: description: Retrieves a specific contract revision by its ID. Accessible by the consumer or provider that owns the associated datarequest. operationId: getContractRevision tags: - Contract Revisions parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ContractRevisionDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Contract Revision security: - SecurityScheme: - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App /api/agreement/v1/contract-revisions/{id}/pdf: get: description: Returns the pdf of the contract revision operationId: getContractRevisionPdf tags: - Contract Revisions parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - PROVIDER - ADMIN responses: "200": description: OK content: application/pdf: {} "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Contract Revision Pdf security: - SecurityScheme: - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Datenbezueger x-api-subset: agridata.ch Web App /api/agreement/v1/contract-revisions/{id}/seals: post: description: Seals a contract revision PDF via BIT Evidence Signing API. operationId: sealContractRevision tags: - Contract Revisions parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" responses: "200": description: OK content: application/json: schema: {} "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Seal Contract Revision security: - SecurityScheme: - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/agreement/v1/contract-revisions/{id}/seals/status: get: description: "Returns the current status of the seal process for a contract\ \ revision. If longPolling=true and the state is IN_PROGRESS, the response\ \ is held for up to 10 seconds until the state changes. If no state change\ \ occurs within that time, IN_PROGRESS is returned. If longPolling=false (default),\ \ the current state is returned immediately." operationId: getContractRevisionSealStatus tags: - Contract Revisions parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: longPolling in: query schema: type: boolean responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SealAttemptStateEnum" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Contract Revision Seal Status security: - SecurityScheme: - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/agreement/v1/contract-revisions/{id}/signatures/{slotCode}/otp-challenges: post: description: Initiates a challenge for a specific signature slot of a specific contract revision. operationId: initiateSignatureChallenge tags: - Contract Revisions parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: slotCode in: path required: true schema: $ref: "#/components/schemas/SignatureSlotCodeEnum" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - PROVIDER responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/OtpChallengeDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Initiate Signature Challenge security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App /api/agreement/v1/contract-revisions/{id}/signatures/{slotCode}/otp-challenges/{challengeId}/verification: post: description: Verifies the otp and adds a signature to a specific signature slot. operationId: verifySignature tags: - Contract Revisions parameters: - name: challengeId in: path required: true schema: $ref: "#/components/schemas/UUID" - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: slotCode in: path required: true schema: $ref: "#/components/schemas/SignatureSlotCodeEnum" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - PROVIDER requestBody: content: application/json: schema: $ref: "#/components/schemas/VerifyOtpRequestDto" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ContractRevisionDto" "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Verify Signature security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App /api/agreement/v1/data-requests: get: description: "Retrieves a list of data requests. Admin users receive all data\ \ requests, while consumers receive only the data requests they own." operationId: getDataRequests tags: - Data Requests responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DataRequestDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Requests security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter parameters: - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - PROVIDER - ADMIN x-api-subset: - agridata.ch Web App - Data Consumer - Data Provider post: description: Creates a new data request in draft status. Only accessible to users with the consumer role. Disallows creating more than 10 draft requests per consumer. operationId: createDataRequestDraft tags: - Data Requests requestBody: content: application/json: schema: $ref: "#/components/schemas/DataRequestUpdateDto" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataRequestDto" "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Create Data Request Draft security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: agridata.ch Web App /api/agreement/v1/data-requests/{id}: put: description: Updates the details of an existing data request. Only accessible to the consumer who owns the data request. operationId: updateDataRequestDetails tags: - Data Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" requestBody: content: application/json: schema: $ref: "#/components/schemas/DataRequestUpdateDto" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataRequestDto" "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Update Data Request Details security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: agridata.ch Web App get: description: 'Retrieves a specific data request by its ID. Accessible to admin users or the consumer who owns the data request. ' operationId: getDataRequest tags: - Data Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataRequestDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Request security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App delete: description: Deletes a data request operationId: deleteDataRequest tags: - Data Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" responses: "200": description: OK content: application/json: schema: {} "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Delete Data Request security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: agridata.ch Web App /api/agreement/v1/data-requests/{id}/consent-requests: get: description: Retrieves the consent requests of a specific data request. Accessible to the provider who owns the data request. operationId: getConsentRequestsOfDataRequest tags: - Data Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - description: Only consent requests that were modified after this timestamp are returned. example: 2025-01-01T09:00:00 name: lastModifiedFrom in: query schema: allOf: - $ref: "#/components/schemas/LocalDateTime" - default: 1970-01-01T00:00:00 - name: page in: query schema: type: integer format: int32 minimum: 0 default: 0 - name: size in: query schema: type: integer format: int32 maximum: 1000 minimum: 1 default: 100 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PageResponseDtoConsentRequestFundamentalViewDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Consent Requests Of Data Request security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter x-api-subset: Data Provider /api/agreement/v1/data-requests/{id}/kt-id-p/{kt-id-p}/consent-requests: get: description: "This endpoint is deprecated, because it does not return\ \ the name of the UIDs. Please use [/v2/data-requests/{id}/kt-id-p/{kt-id-p}/consent-requests](#/Data%20Requests/getConsentRequestsOfDataRequestAndKtIdPv2)\ \ instead.

Retrieves all consent requests associated with\ \ a specific data request and kt-id-p. Accessible to the consumer who owns\ \ the data request." operationId: getConsentRequestsOfDataRequestAndKtIdP deprecated: true tags: - Data Requests parameters: - description: The UUID of the data request example: 3da3a459-d3c2-48af-b8d0-02bc95146468 name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - description: The kt-id-p identifier of the producer example: FLXXA0001 name: kt-id-p in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ConsentRequestConsumerViewDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Consent Requests Of Data Request And Kt Id P security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: Data Consumer /api/agreement/v1/data-requests/{id}/logo: put: description: Updates the logo of a specific data request. Only accessible to the consumer who owns the data request. operationId: updateDataRequestLogo tags: - Data Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" requestBody: content: multipart/form-data: schema: type: object properties: logo: type: string format: binary required: true responses: "204": description: No Content "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Update Data Request Logo security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: agridata.ch Web App /api/agreement/v1/data-requests/{id}/signature-type: put: description: Sets the type of signature (individual or collective) for the current role. Available to the consumer and provider of a data request. operationId: setSignatureType tags: - Data Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - PROVIDER requestBody: content: application/json: schema: $ref: "#/components/schemas/SignatureTypeEnum" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataRequestDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Update Signature Type security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App /api/agreement/v1/data-requests/{id}/status: put: description: sets status of data request. Only accessible to the consumer who owns the data request and to admins. Only specific transitions are allowed. operationId: setDataRequestStatus tags: - Data Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - PROVIDER - ADMIN requestBody: content: application/json: schema: $ref: "#/components/schemas/DataRequestStateEnum" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataRequestDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Set Data Request Status security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/agreement/v1/data-requests/{id}/valid-redirect-uri-regex: put: description: Updates the valid redirect URI regex of a specific data request. Only accessible to admins. operationId: updateDataRequestValidRedirectUriRegex tags: - Data Requests parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" requestBody: content: application/json: schema: $ref: "#/components/schemas/DataRequestValidRedirectUriRegexUpdateDto" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataRequestDto" "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Update Data Request Valid Redirect Uri Regex security: - SecurityScheme: - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/agreement/v2/data-requests/{id}/kt-id-p/{kt-id-p}/consent-requests: get: description: Retrieves all consent requests associated with a specific data request and kt-id-p. Accessible to the consumer who owns the data request and for admin users. operationId: getConsentRequestsOfDataRequestAndKtIdPv2 tags: - Data Requests parameters: - description: The UUID of the data request example: 3da3a459-d3c2-48af-b8d0-02bc95146468 name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - description: The kt-id-p identifier of the producer example: FLXXA0001 name: kt-id-p in: path required: true schema: type: string - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - CONSUMER - ADMIN responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ConsentRequestConsumerViewV2Dto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Consent Requests Of Data Request And Kt Id Pv 2 security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin x-api-subset: Data Consumer /api/data-transfer/v1/product/{productId}/data: get: description: Retrieves data defined by productId. The needed query parameters are depending on the requested productId. Please consult documentation to find the necessary parameters operationId: dataTransfer deprecated: true tags: - Data Transfer parameters: - description: productId for which the data is requested example: 085e4b72-964d-4bd5-a3c9-224d8c5585af name: productId in: path required: true schema: $ref: "#/components/schemas/UUID" - description: Optional filter to retrieve data of a producer identified by a id of a local bur unit name: bur in: query schema: type: string - description: Optional filter to retrieve data of a producer identified by the uid example: CHE101000001 name: uid in: query schema: type: string - description: year for which the data is requested example: 2024 name: year in: query schema: type: integer format: int32 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataTransferResponse" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Data Transfer security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: Data Consumer /api/data-transfer/v1/product/{productId}/delta: get: description: "Returns a list of delta IDs (Producer UIDs) for the specified\ \ product, considering both data updates and newly granted consents since\ \ the given timestamp. This enables consumers to identify only those IDs for\ \ which a detail query is relevant" operationId: getDeltaIds tags: - Data Transfer parameters: - description: productId for which the delta ids are requested example: 085e4b72-964d-4bd5-a3c9-224d8c5585af name: productId in: path required: true schema: $ref: "#/components/schemas/UUID" - description: Only delta IDs with changes or newly granted consents after this timestamp are returned. example: 2025-01-01T09:00:00 name: since in: query schema: $ref: "#/components/schemas/LocalDateTime" required: true responses: "200": description: OK content: application/json: schema: type: array items: type: string "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Delta Ids security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: Data Consumer /api/data-transfer/v2/product/{productId}/data: get: description: "Retrieves data defined by productId. The needed query parameters\ \ are depending on the requested productId. Please consult documentation to\ \ find the necessary parameters. This endpoint simply forwards the payload\ \ from the source system to the consumer.Before any data is transferred, the\ \ producer must have accepted an active data request that includes the requested\ \ product." operationId: dataTransferV2 tags: - Data Transfer V2 parameters: - description: productId for which the data is requested example: 085e4b72-964d-4bd5-a3c9-224d8c5585af name: productId in: path required: true schema: $ref: "#/components/schemas/UUID" - description: Additional query parameters. The needed query parameters are depending on the requested productId. Please consult documentation to find the necessary parameters. examples: uid: value: uid: CHE123456789 name: queryParams schema: type: object in: query responses: "200": description: OK content: '*/*': {} "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Data Transfer security: - SecurityScheme: [] x-api-subset: Data Consumer /api/data-transfer/v2/product/{productId}/modified-producers: get: description: Returns producer IDs for which either a new consent was granted or data has changed at the upstream provider since the given timestamp. Only producer IDs with a currently valid consent are included. This endpoint requires the product to have change detection configured. operationId: getModifiedProducers tags: - Data Transfer V2 parameters: - description: productId for which the change detection is requested example: 085e4b72-964d-4bd5-a3c9-224d8c5585af name: productId in: path required: true schema: $ref: "#/components/schemas/UUID" - description: Only changes and new consents after this date are returned. example: 2025-01-01 name: since in: query schema: $ref: "#/components/schemas/LocalDate" required: true responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/ProducerIdentifier" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Modified Producers security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: Data Consumer /api/notification/v1/inbox: get: description: Retrieves all inbox notification entries for the currently authenticated user. operationId: getInbox tags: - Notifications parameters: - name: language in: query schema: description: language code for multilingual fields. Must be supported by application. type: string - name: page in: query schema: description: page number format: int32 type: integer minimum: 0 default: 0 - name: searchTerm in: query schema: description: string to search for in the resource type: string - name: size in: query schema: description: page size format: int32 type: integer maximum: 100 minimum: 1 default: 20 - name: sortBy in: query schema: description: List of field names to sort by. Default is ascending prefix with - for descending type: object responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PageResponseDtoInboxEntryDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Inbox security: - SecurityScheme: [] x-api-subset: - agridata.ch Web App - Mobile App /api/notification/v1/inbox/mark-as-read: put: description: Marks one or multiple inbox entries as read for the currently authenticated user. operationId: markInboxAsRead tags: - Notifications requestBody: content: application/json: schema: $ref: "#/components/schemas/MarkAsReadRequestDto" required: true responses: "204": description: No Content "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Mark As Read security: - SecurityScheme: [] x-api-subset: - agridata.ch Web App - Mobile App /api/notification/v1/inbox/mark-as-unread: put: description: Marks one or multiple inbox entries as unread for the currently authenticated user. operationId: markInboxAsUnread tags: - Notifications requestBody: content: application/json: schema: $ref: "#/components/schemas/MarkAsReadRequestDto" required: true responses: "204": description: No Content "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Mark As Unread security: - SecurityScheme: [] x-api-subset: - agridata.ch Web App - Mobile App /api/products/v1: get: description: "Retrieves the list of all available data products. Accessible\ \ to users with the producer, consumer, admin, or provider role." operationId: getDataProducts tags: - Data Products responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DataProductDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Products security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Support x-api-subset: - agridata.ch Web App - Mobile App /api/products/v1/data-providers: get: description: "Retrieves the list of all available data providers. Accessible\ \ to users with the producer, consumer, admin, or provider role." operationId: getDataProviders tags: - Data Providers responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DataProviderDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Providers security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Support x-api-subset: agridata.ch Web App /api/products/v1/data-providers/{providerId}: get: description: Retrieves a specific data provider. operationId: getDataProviderById tags: - Data Providers parameters: - name: providerId in: path required: true schema: $ref: "#/components/schemas/UUID" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataProviderDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Provider By Id security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Support x-api-subset: agridata.ch Web App /api/products/v1/data-providers/{providerId}/dataSourceSystems: get: description: Retrieves all data source systems belonging to a specific data provider operationId: getDataSourceSystemsByProviderId tags: - Data Providers parameters: - name: providerId in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DataSourceSystemDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Source Systems By Provider Id security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/products/v1/data-providers/{providerId}/products: get: description: Retrieves all data products belonging to a specific data provider. operationId: getDataProductsByProviderId tags: - Data Providers parameters: - name: providerId in: path required: true schema: $ref: "#/components/schemas/UUID" responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DataProductDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Products By Provider Id security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Support x-api-subset: agridata.ch Web App /api/products/v1/data-providers/{providerId}/restClients: get: description: Retrieves all rest clients that are assigned to a specific data provider operationId: getRestClientsByProviderId tags: - Data Providers parameters: - name: providerId in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/RestClientDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Rest Clients By Provider Id security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/products/v2: get: description: "Retrieves a paginated list of all available data products. Accessible\ \ to users with the producer, and admin. Supports pagination." operationId: getDataProductsPaginated tags: - Data Products parameters: - name: language in: query schema: description: language code for multilingual fields. Must be supported by application. type: string - name: page in: query schema: description: page number format: int32 type: integer minimum: 0 default: 0 - name: searchTerm in: query schema: description: string to search for in the resource type: string - name: size in: query schema: description: page size format: int32 type: integer maximum: 100 minimum: 1 default: 20 - name: sortBy in: query schema: description: List of field names to sort by. Default is ascending prefix with - for descending type: object - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PageResponseDtoDataProductDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Products Paginated security: - SecurityScheme: - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter x-api-subset: - agridata.ch Web App - Mobile App post: description: Creates a new data product in draft status. Only accessible to users with the admin or provider role. operationId: createDataProductDraft tags: - Data Products requestBody: content: application/json: schema: $ref: "#/components/schemas/DataProductUpdateDto" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataProductDto" "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Create Data Product Draft security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin parameters: - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN x-api-subset: agridata.ch Web App /api/products/v2/{id}: put: description: Updates the details of an existing data product. operationId: updateDataProductDraft tags: - Data Products parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN requestBody: content: application/json: schema: $ref: "#/components/schemas/DataProductUpdateDto" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataProductDto" "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Update Data Product Draft security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App patch: description: "Partially updates an existing data product. Each provided field\ \ is validated against the data product's current state and the caller's role.\ \ If any field cannot be updated, the entire request is rejected and no changes\ \ are applied." operationId: patchDataProduct tags: - Data Products parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN requestBody: content: application/json: schema: $ref: "#/components/schemas/DataProductUpdateDto" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataProductDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Patch Data Product security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App get: description: Retrieves a single data product. Acessible to users with the provider and admin role operationId: getDataProduct tags: - Data Products parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataProductDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Product security: - SecurityScheme: - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App delete: description: Deletes a draft data product. Accessible to the owning provider and admins. operationId: deleteDataProductDraft tags: - Data Products parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: {} "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Delete Data Product Draft security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/products/v2/{id}/documents: get: description: Retrieves metadata for all documents of a data product. Accessible to the owning provider and admins. operationId: getDataProductDocumentsMetadata tags: - Data Products parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/DataProductDocumentMetadataDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Product Documents Metadata security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App post: description: Uploads a document to a data product. Accessible to the owning provider and admins. operationId: addDataProductDocument tags: - Data Products parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN requestBody: content: multipart/form-data: schema: type: object properties: document: type: string format: binary required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataProductDocumentMetadataDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Add Data Product Document security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/products/v2/{id}/documents/{documentId}: get: description: "Retrieves metadata for a single data product document, optionally\ \ long-polling until the scan completes. Accessible to the owning provider\ \ and admins." operationId: getDataProductDocumentMetadata tags: - Data Products parameters: - name: documentId in: path required: true schema: $ref: "#/components/schemas/UUID" - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: longPolling in: query schema: type: boolean - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataProductDocumentMetadataDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Product Document Metadata security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App delete: description: Deletes a document from a data product. Accessible to the owning provider and admins. operationId: deleteDataProductDocument tags: - Data Products parameters: - name: documentId in: path required: true schema: $ref: "#/components/schemas/UUID" - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/json: schema: {} "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Delete Data Product Document security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/products/v2/{id}/documents/{documentId}/download: get: description: Downloads the content of a data product document. Accessible to the owning provider and admins. operationId: getDataProductDocument tags: - Data Products parameters: - name: documentId in: path required: true schema: $ref: "#/components/schemas/UUID" - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN responses: "200": description: OK content: application/octet-stream: schema: type: string format: binary "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Data Product Document security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/products/v2/{id}/status: put: description: Sets the status of a data product. Only accessible to the provider who owns the data product. Admins on the other hand can set the state to any data product. Only specific transitions are allowed. operationId: setDataProductStatus tags: - Data Products parameters: - name: id in: path required: true schema: $ref: "#/components/schemas/UUID" - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PROVIDER - ADMIN requestBody: content: application/json: schema: $ref: "#/components/schemas/DataProductStateEnum" required: true responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/DataProductDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Set Data Product Status security: - SecurityScheme: - agridata.ch.Agridata_Datenanbieter - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/test-data/execute: post: operationId: executeSqlScript tags: - Test Data requestBody: content: multipart/form-data: schema: type: object properties: file: type: string format: binary required: true responses: "201": description: Created "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Execute security: - SecurityScheme: - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/test-data/reset: post: operationId: resetTestData tags: - Test Data responses: "201": description: Created "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Reset Test Data security: - SecurityScheme: [] x-api-subset: agridata.ch Web App /api/uid-register/v1/search: get: description: Retrieves organisation details from the UID register for the UID associated with the currently authenticated consumer. Only accessible to users with the consumer role. operationId: getByUidOfCurrentUser tags: - UID Register Search responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UidRegisterOrganisationDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get By Uid Of Current User security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger x-api-subset: agridata.ch Web App /api/uid-register/v1/search/{uid}: get: description: Retrieves organisation details from the UID register using the specified UID. Accessible to users with the admin role. operationId: getByUid tags: - UID Register Search parameters: - description: UID of the organisation without CHE prefix example: 101708094 required: true name: uid in: path schema: type: integer responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UidRegisterOrganisationDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get By Uid security: - SecurityScheme: - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/user/v1/agb-revisions/{agb-revision-id}/accept: post: description: Records acceptance of the current AGB revision for the currently authenticated user. operationId: acceptAgb tags: - Users parameters: - description: The id of the AGB revision the user is accepting. example: 3fa85f64-5717-4562-b3fc-2c963f66afb7 name: agb-revision-id in: path required: true schema: $ref: "#/components/schemas/UUID" responses: "201": description: Created "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Accept Agb security: - SecurityScheme: - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App /api/user/v1/authorized-uids: get: description: Retrieves all UIDs authorized for the currently authenticated data producer. operationId: getAuthorizedUids tags: - Users parameters: - description: The agateLoginId of the producer (only relevant for admin users) example: "1234567" name: agate-login-id in: query schema: type: string - description: The kt-id-p identifier of the producer (only relevant for admin users) example: FLXXA0001 name: kt-id-p in: query schema: type: string - name: actingRole in: query required: false description: "Selects the role in which the authenticated user acts for this\ \ request. Optional: if the authenticated user holds exactly one of the\ \ allowed roles, the value is auto-resolved. Returns 400 if the value is\ \ unknown, not allowed for this endpoint, or omitted while the user holds\ \ multiple matching roles. Returns 403 if the user does not hold the role\ \ specified in the parameter." schema: type: string enum: - PRODUCER - ADMIN - SUPPORT responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/UidDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Authorized Uids security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Support - agridata.ch.Agridata_Admin x-api-subset: - agridata.ch Web App - Mobile App /api/user/v1/preferences: put: description: updates preferences for the currently authenticated user. operationId: updateUserPreferences tags: - Users requestBody: content: application/json: schema: $ref: "#/components/schemas/UserPreferencesDto" required: true responses: "204": description: No Content "401": description: Not Authorized "403": description: Not Allowed "400": description: Bad Request "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Update User Preferences security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Support - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App /api/user/v1/producers: get: description: Retrieves users matching the given query parameters. operationId: getProducers tags: - Users parameters: - name: language in: query schema: description: language code for multilingual fields. Must be supported by application. type: string - name: page in: query schema: description: page number format: int32 type: integer minimum: 0 default: 0 - name: searchTerm in: query schema: description: string to search for in the resource type: string - name: size in: query schema: description: page size format: int32 type: integer maximum: 100 minimum: 1 default: 20 - name: sortBy in: query schema: description: List of field names to sort by. Default is ascending prefix with - for descending type: object responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/PageResponseDtoUserInfoDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Producers security: - SecurityScheme: - agridata.ch.Agridata_Support x-api-subset: agridata.ch Web App /api/user/v1/uid/{uid}/authorized-burs: get: description: Retrieves all BURs authorized for the given UID. Only accessible to admin users. operationId: getAuthorizedBursByUid tags: - Users parameters: - name: uid in: path required: true schema: type: string responses: "200": description: OK content: application/json: schema: type: array items: $ref: "#/components/schemas/BurDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Authorized Burs By Uid security: - SecurityScheme: - agridata.ch.Agridata_Admin x-api-subset: agridata.ch Web App /api/user/v1/user-info: get: description: Retrieves user-info for the currently authenticated user. operationId: getUserInfo tags: - Users responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/UserInfoDto" "401": description: Not Authorized "403": description: Not Allowed "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get User Info security: - SecurityScheme: - agridata.ch.Agridata_Einwilliger - agridata.ch.Agridata_Datenbezueger - agridata.ch.Agridata_Admin - agridata.ch.Agridata_Support - agridata.ch.Agridata_Datenanbieter x-api-subset: agridata.ch Web App /public/api/user/v1/current-agb-revision: get: description: Returns the current Agb revision. operationId: getCurrentAgbRevision tags: - Agb Revision responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/AgbRevisionDto" "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Get Current Agb Revision x-api-subset: - agridata.ch Web App - Mobile App /q/info: get: responses: "200": description: OK content: application/json: schema: type: object additionalProperties: type: string "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Info tags: - Info Resource /q/info/schema: get: responses: "200": description: OK content: application/json: schema: type: string "500": description: "Internal server error: unexpected error" content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" "404": description: The resource or element was not found content: application/json: schema: $ref: "#/components/schemas/ExceptionDto" summary: Schema tags: - Info Resource info: title: agridata.ch API version: 1.14.0-rc.5 description: |- This API provides access to the agridata.ch data exchange platform, enabling Users to discover, request, approve, and manage data sharing agreements. - **For Data Consumers**: Select this API subset to view only the endpoints relevant to you: [Data Consumer](/q/swagger-ui/?urls.primaryName=Data+Consumer) - **For Data Providers**: Select this API subset to view only the endpoints relevant to you: [Data Providers](/q/swagger-ui/?urls.primaryName=Data+Provider)