Read Data Disclosure Agreement Record
GET/config/data-disclosure-agreement/:dataDisclosureAgreementTemplateRevisionId/record/:dataDisclosureAgreementRecordId
Reads a Data Disclosure Agreement Record.
Request
Path Parameters
Unique ID of a Data Disclosure Template Revision
Unique ID of a Data Disclosure Record
Responses
- 200
Data Disclosure Agreement Record Read
Response Headers
Content-Type json
Content-Type header
- application/json
- Schema
- Example (from schema)
Schema
dataDisclosureAgreementRecord objectrequired
A record represents an Agreement between a Data Source and Data Using Service that can be signed by both, based on the updated Go structure. The Opt-In value determines whether the record is active and data can be shared to the Data Using Service. The Opt-In value is only valid for records containing both signatures.
Unique Data Disclosure Agreement Record identifier.
The cross-organisational identifier for the record.
dataDisclosureAgreementTemplateRevision objectrequired
A generic revision model captures the serialised contents of any schema's single row. This is then subject to 1) cryptographic signature and 2) auditing.
Aside from the "successor" column, a revision should be considered locked.
Revision ID
Possible values: [dataAgreement
, policy
, dataAgreementRecord
]
Previously "schema" but for technical reasons should be called "schemaName"
The PK of the object that was serialised
The object that is serialised
Indicates that objectId was left blank in serizalizedSnapshot when calculating serializedHash. objectId may subsequently be filled in.
Revisioned data (sed as JSON) as a dict. Apply JSON Canonicalization Scheme as per IETF RFC 8785. It contains all the fields of the schema except sucessorId, serializedHash, serializedSnapshot.
Hash of serizalizedSnapshot (SHA-1)
Timestamp of when revisioning happened. It should be ISO 8601 UTC date time
Individual ID
Reference to an admin user that has created this revision
If this revision is no longer the latest revision, refer to its successor
Tamper-resistent artifact from previous record, copied from serializedHash
Tamper-resistent artifact from previous record (we don't know if the previous record was signed or not)
dataSourceSignature objectrequired
The signature provided by the Data Source.
Unique signature identifier
The Data Disclosure Agreement Record (as a stringified JSON object)
JWT signature
Decoded signature, containing claims used from the signature JWT
A well-known string denoting which method is used. Valid values: 'keybinding_jwt'
The keybinding JWT payload that was signed to produce the signature
Internally generated cryptographic hash of the value to be signed, i.e. the value of verificationPayload
Because an identifier's information may change over time, there is a need to store that information at the time of signing. In the case of a cryptographic signature, this field should contain some identifier for looking up or verifying the public key of the signing party.
Possible values: [data_source
, data_using_service
]
Either signed as a "data_source" or as a "data_using_service"
Alternative to the verificationMethod, verificationHash and verificationSignature, give a JWS serialised object (RFC7515)
Timestamp of signature
Indicates that objectReference was left blank in the serialised version that was signed, always false for Data Disclosure Agreement Record signatures
Possible values: [data_disclosure_agreement_record
]
Name of the schema model that objectReference points to, in this case "data_disclosure_agreement_record"
In the case of a data_disclosure_agreement_record, this is the ID of the record that was signed
dataUsingServiceSignature objectrequired
The signature provided by the Data Using Service.
Unique signature identifier
The Data Disclosure Agreement Record (as a stringified JSON object)
JWT signature
Decoded signature, containing claims used from the signature JWT
A well-known string denoting which method is used. Valid values: 'keybinding_jwt'
The keybinding JWT payload that was signed to produce the signature
Internally generated cryptographic hash of the value to be signed, i.e. the value of verificationPayload
Because an identifier's information may change over time, there is a need to store that information at the time of signing. In the case of a cryptographic signature, this field should contain some identifier for looking up or verifying the public key of the signing party.
Possible values: [data_source
, data_using_service
]
Either signed as a "data_source" or as a "data_using_service"
Alternative to the verificationMethod, verificationHash and verificationSignature, give a JWS serialised object (RFC7515)
Timestamp of signature
Indicates that objectReference was left blank in the serialised version that was signed, always false for Data Disclosure Agreement Record signatures
Possible values: [data_disclosure_agreement_record
]
Name of the schema model that objectReference points to, in this case "data_disclosure_agreement_record"
In the case of a data_disclosure_agreement_record, this is the ID of the record that was signed
Whether the record is active and data can be shared to the Data Using Service.
The timestamp of when the latest signature was added.
The ID of the organisation this record belongs to (both organisation keep a copy).
Possible values: [data_source
, data_using_service
]
The role of the organisation in this agreement (e.g., data_source).
If the record is deleted.
revision objectrequired
A generic revision model captures the serialised contents of any schema's single row. This is then subject to 1) cryptographic signature and 2) auditing.
Aside from the "successor" column, a revision should be considered locked.
Revision ID
Possible values: [dataAgreement
, policy
, dataAgreementRecord
]
Previously "schema" but for technical reasons should be called "schemaName"
The PK of the object that was serialised
The object that is serialised
Indicates that objectId was left blank in serizalizedSnapshot when calculating serializedHash. objectId may subsequently be filled in.
Revisioned data (sed as JSON) as a dict. Apply JSON Canonicalization Scheme as per IETF RFC 8785. It contains all the fields of the schema except sucessorId, serializedHash, serializedSnapshot.
Hash of serizalizedSnapshot (SHA-1)
Timestamp of when revisioning happened. It should be ISO 8601 UTC date time
Individual ID
Reference to an admin user that has created this revision
If this revision is no longer the latest revision, refer to its successor
Tamper-resistent artifact from previous record, copied from serializedHash
Tamper-resistent artifact from previous record (we don't know if the previous record was signed or not)
{
"dataDisclosureAgreementRecord": {
"id": "string",
"canonicalId": "string",
"dataDisclosureAgreementTemplateRevision": {
"id": "",
"schemaName": "",
"objectId": "",
"objectData": "",
"signedWithoutObjectId": "",
"serizalizedSnapshot": "",
"serializedHash": "",
"timestamp": "",
"authorizedByIndividualId": "string",
"authorizedByOtherId": "",
"successorId": "string",
"predecessorHash": "",
"predecessorSignature": ""
},
"dataSourceSignature": {
"id": "string",
"payload": "string",
"signature": "string",
"signatureDecoded": {},
"verificationMethod": "string",
"verificationPayload": "string",
"verificationPayloadHash": "string",
"verificationSignedBy": "string",
"verificationSignedAs": "data_source",
"verificationJwsHeader": "string",
"timestamp": "string",
"signedWithoutObjectReference": true,
"objectType": "data_disclosure_agreement_record",
"objectReference": "string"
},
"dataUsingServiceSignature": {
"id": "string",
"payload": "string",
"signature": "string",
"signatureDecoded": {},
"verificationMethod": "string",
"verificationPayload": "string",
"verificationPayloadHash": "string",
"verificationSignedBy": "string",
"verificationSignedAs": "data_source",
"verificationJwsHeader": "string",
"timestamp": "string",
"signedWithoutObjectReference": true,
"objectType": "data_disclosure_agreement_record",
"objectReference": "string"
},
"optIn": true,
"timestamp": "string",
"organisationId": "string",
"organisationRole": "data_source",
"isDeleted": true
},
"revision": {
"id": "",
"schemaName": "",
"objectId": "",
"objectData": "",
"signedWithoutObjectId": "",
"serizalizedSnapshot": "",
"serializedHash": "",
"timestamp": "",
"authorizedByIndividualId": "string",
"authorizedByOtherId": "",
"successorId": "string",
"predecessorHash": "",
"predecessorSignature": ""
}
}