List Data Disclosure Agreement Records by Template Revision
GET/config/data-disclosure-agreement/:dataDisclosureAgreementTemplateRevisionId/records
Lists Data Disclosure Agreement Records for a Data Disclosure Agreement Template Revision depending on the role of the organisation for the record, "data_source" or "data_using_service".
Request
Path Parameters
Unique ID of a Data Disclosure Template Revision
Query Parameters
Requested index for start of resources to be provided in response requested by client
Default value: 10
Number of items returned per page. Requested number of resources to be provided in response requested by client.
Filter by Organisation Role for the Data Disclosure Record, "data_source" or "data_using_service"
Responses
- 200
Data Disclosure Agreement Record List
Response Headers
Content-Type json
Content-Type header
- application/json
- Schema
- Example (from schema)
Schema
- Array [
- ]
dataDisclosureAgreementRecords object[]required
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.
pagination objectrequired
Current page number
Total number of items available
Total number of pages based on limit
Number of items per page
Indicates if there's a previous page
Indicates if there's a next page
{
"dataDisclosureAgreementRecords": [
{
"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
}
],
"pagination": {
"currentPage": 0,
"totalItems": 0,
"totalPages": 0,
"limit": 0,
"hasPrevious": true,
"hasNext": true
}
}