---
id: list-data-disclosure-agreement-record-revisions
title: "List Data Disclosure Agreement Record Revisions"
description: "Lists Data Disclosure Agreement Record Revisions for a specific record."
sidebar_label: "List Data Disclosure Agreement Record Revisions"
hide_title: true
hide_table_of_contents: true
api: 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
sidebar_class_name: "get api-method"
info_path: docs/datamarketplace-api/igrant-io-api-documentation
custom_edit_url: null
---

> **Build this with an AI coding agent.** Install the iGrant.io Agent Skills, then ask your agent to build the integration:
>
> ```bash
> npx skills add L3-iGrant/skills
> ```


import ApiTabs from "@theme/ApiTabs";
import DiscriminatorTabs from "@theme/DiscriminatorTabs";
import MethodEndpoint from "@theme/ApiExplorer/MethodEndpoint";
import SecuritySchemes from "@theme/ApiExplorer/SecuritySchemes";
import MimeTabs from "@theme/MimeTabs";
import ParamsItem from "@theme/ParamsItem";
import ResponseSamples from "@theme/ResponseSamples";
import SchemaItem from "@theme/SchemaItem";
import SchemaTabs from "@theme/SchemaTabs";
import Markdown from "@theme/Markdown";
import OperationTabs from "@theme/OperationTabs";
import TabItem from "@theme/TabItem";

<h1 className={"openapi__heading"}>List Data Disclosure Agreement Record Revisions</h1>

<MethodEndpoint method={"get"} path={"/v3/config/data-disclosure-agreement/{dataDisclosureAgreementTemplateRevisionId}/record/{dataDisclosureAgreementRecordId}/revisions"}></MethodEndpoint>



Lists Data Disclosure Agreement Record Revisions for a specific record.

## Request

<details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Path Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"name":"dataDisclosureAgreementTemplateRevisionId","in":"path","description":"Unique ID of a Data Disclosure Template Revision","required":true,"schema":{"type":"string"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"name":"dataDisclosureAgreementRecordId","in":"path","description":"Unique ID of a Data Disclosure Record","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><details style={{"marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collapsed={false} open={true}><summary style={{}}><h3 className={"openapi-markdown__details-summary-header-params"}>Query Parameters</h3></summary><div><ul><ParamsItem className={"paramsItem"} param={{"description":"Number of records to skip for pagination.","in":"query","name":"offset","required":false,"schema":{"type":"integer"}}}></ParamsItem><ParamsItem className={"paramsItem"} param={{"name":"limit","in":"query","description":"Maximum number of records to return per page.","required":false,"schema":{"type":"integer","default":10}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

Data Disclosure Agreement Record Revision List

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}><li className={"schemaItem"}><summary style={{}}><strong>Content-Type</strong><span style={{"opacity":"0.6"}}> json</span></summary><div><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

Content-Type header

</div></div></li></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataDisclosureAgreementRecord</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

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.


</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique Data Disclosure Agreement Record identifier."}}></SchemaItem><SchemaItem collapsible={false} name={"canonicalId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The cross-organisational identifier for the record."}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataDisclosureAgreementTemplateRevision</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

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.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"65471222e8c7c3bb3c2c6601","description":"Revision ID"}}></SchemaItem><SchemaItem collapsible={false} name={"schemaName"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`dataAgreement`, `policy`, `dataAgreementRecord`]"} schema={{"type":"string","format":"","example":"dataAgreement","description":"Previously \"schema\" but for technical reasons should be called \"schemaName\"","enum":["dataAgreement","policy","dataAgreementRecord"]}}></SchemaItem><SchemaItem collapsible={false} name={"objectId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"65471222e8c7c3bb3c2c8492","description":"The PK of the object that was serialised"}}></SchemaItem><SchemaItem collapsible={false} name={"objectData"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"{...}","description":"The object that is serialised"}}></SchemaItem><SchemaItem collapsible={false} name={"signedWithoutObjectId"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","format":"","example":false,"description":"Indicates that objectId was left blank in serizalizedSnapshot when calculating serializedHash. objectId may subsequently be filled in."}}></SchemaItem><SchemaItem collapsible={false} name={"serizalizedSnapshot"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"{...}","description":"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.\n"}}></SchemaItem><SchemaItem collapsible={false} name={"serializedHash"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2","description":"Hash of serizalizedSnapshot (SHA-1)"}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"2024-01-15T10:30:00Z","description":"Timestamp of when revisioning happened. It should be ISO 8601 UTC date time"}}></SchemaItem><SchemaItem collapsible={false} name={"authorizedByIndividualId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"description":"Individual ID","type":"string"}}></SchemaItem><SchemaItem collapsible={false} name={"authorizedByOtherId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"64541a2e6e7569000145ab00","description":"Reference to an admin user that has created this revision"}}></SchemaItem><SchemaItem collapsible={false} name={"successorId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"x-fk-model":"Revision","type":"string","description":"If this revision is no longer the latest revision, refer to its successor"}}></SchemaItem><SchemaItem collapsible={false} name={"predecessorHash"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3","description":"Tamper-resistent artifact from previous record, copied from serializedHash"}}></SchemaItem><SchemaItem collapsible={false} name={"predecessorSignature"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"c3d4e5f6a1b2...","description":"Tamper-resistent artifact from previous record (we don't know if the previous record was signed or not)"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataSourceSignature</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The signature provided by the Data Source.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique signature identifier"}}></SchemaItem><SchemaItem collapsible={false} name={"payload"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The Data Disclosure Agreement Record (as a stringified JSON object)"}}></SchemaItem><SchemaItem collapsible={false} name={"signature"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"JWT signature"}}></SchemaItem><SchemaItem collapsible={false} name={"signatureDecoded"} required={true} schemaName={"object"} qualifierMessage={undefined} schema={{"type":"object","description":"Decoded signature, containing claims used from the signature JWT"}}></SchemaItem><SchemaItem collapsible={false} name={"verificationMethod"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A well-known string denoting which method is used. Valid values: 'keybinding_jwt'"}}></SchemaItem><SchemaItem collapsible={false} name={"verificationPayload"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The keybinding JWT payload that was signed to produce the signature"}}></SchemaItem><SchemaItem collapsible={false} name={"verificationPayloadHash"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Internally generated cryptographic hash of the value to be signed, i.e. the value of verificationPayload"}}></SchemaItem><SchemaItem collapsible={false} name={"verificationSignedBy"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"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."}}></SchemaItem><SchemaItem collapsible={false} name={"verificationSignedAs"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`data_source`, `data_using_service`]"} schema={{"type":"string","description":"Either signed as a \"data_source\" or as a \"data_using_service\"","enum":["data_source","data_using_service"]}}></SchemaItem><SchemaItem collapsible={false} name={"verificationJwsHeader"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Alternative to the verificationMethod, verificationHash and verificationSignature, give a JWS serialised object (RFC7515)"}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Timestamp of signature"}}></SchemaItem><SchemaItem collapsible={false} name={"signedWithoutObjectReference"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates that objectReference was left blank in the serialised version that was signed, always false for Data Disclosure Agreement Record signatures"}}></SchemaItem><SchemaItem collapsible={false} name={"objectType"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`data_disclosure_agreement_record`]"} schema={{"type":"string","description":"Name of the schema model that objectReference points to, in this case \"data_disclosure_agreement_record\"","enum":["data_disclosure_agreement_record"]}}></SchemaItem><SchemaItem collapsible={false} name={"objectReference"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"In the case of a data_disclosure_agreement_record, this is the ID of the record that was signed"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataUsingServiceSignature</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><div style={{"marginTop":".5rem","marginBottom":".5rem"}}>

The signature provided by the Data Using Service.

</div><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique signature identifier"}}></SchemaItem><SchemaItem collapsible={false} name={"payload"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The Data Disclosure Agreement Record (as a stringified JSON object)"}}></SchemaItem><SchemaItem collapsible={false} name={"signature"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"JWT signature"}}></SchemaItem><SchemaItem collapsible={false} name={"signatureDecoded"} required={true} schemaName={"object"} qualifierMessage={undefined} schema={{"type":"object","description":"Decoded signature, containing claims used from the signature JWT"}}></SchemaItem><SchemaItem collapsible={false} name={"verificationMethod"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"A well-known string denoting which method is used. Valid values: 'keybinding_jwt'"}}></SchemaItem><SchemaItem collapsible={false} name={"verificationPayload"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The keybinding JWT payload that was signed to produce the signature"}}></SchemaItem><SchemaItem collapsible={false} name={"verificationPayloadHash"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Internally generated cryptographic hash of the value to be signed, i.e. the value of verificationPayload"}}></SchemaItem><SchemaItem collapsible={false} name={"verificationSignedBy"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"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."}}></SchemaItem><SchemaItem collapsible={false} name={"verificationSignedAs"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`data_source`, `data_using_service`]"} schema={{"type":"string","description":"Either signed as a \"data_source\" or as a \"data_using_service\"","enum":["data_source","data_using_service"]}}></SchemaItem><SchemaItem collapsible={false} name={"verificationJwsHeader"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Alternative to the verificationMethod, verificationHash and verificationSignature, give a JWS serialised object (RFC7515)"}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Timestamp of signature"}}></SchemaItem><SchemaItem collapsible={false} name={"signedWithoutObjectReference"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates that objectReference was left blank in the serialised version that was signed, always false for Data Disclosure Agreement Record signatures"}}></SchemaItem><SchemaItem collapsible={false} name={"objectType"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`data_disclosure_agreement_record`]"} schema={{"type":"string","description":"Name of the schema model that objectReference points to, in this case \"data_disclosure_agreement_record\"","enum":["data_disclosure_agreement_record"]}}></SchemaItem><SchemaItem collapsible={false} name={"objectReference"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"In the case of a data_disclosure_agreement_record, this is the ID of the record that was signed"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"optIn"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Whether the record is active and data can be shared to the Data Using Service."}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The timestamp of when the latest signature was added."}}></SchemaItem><SchemaItem collapsible={false} name={"organisationId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The ID of the organisation this record belongs to (both organisation keep a copy)."}}></SchemaItem><SchemaItem collapsible={false} name={"organisationRole"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`data_source`, `data_using_service`]"} schema={{"type":"string","description":"The role of the organisation in this agreement (e.g., data_source).","enum":["data_source","data_using_service"]}}></SchemaItem><SchemaItem collapsible={false} name={"isDeleted"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"If the record is deleted."}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>revisions</strong><span className={"openapi-schema__name"}> object[]</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem","paddingBottom":".5rem"}}>Array [</div></li><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"65471222e8c7c3bb3c2c6601","description":"Revision ID"}}></SchemaItem><SchemaItem collapsible={false} name={"schemaName"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`dataAgreement`, `policy`, `dataAgreementRecord`]"} schema={{"type":"string","format":"","example":"dataAgreement","description":"Previously \"schema\" but for technical reasons should be called \"schemaName\"","enum":["dataAgreement","policy","dataAgreementRecord"]}}></SchemaItem><SchemaItem collapsible={false} name={"objectId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"65471222e8c7c3bb3c2c8492","description":"The PK of the object that was serialised"}}></SchemaItem><SchemaItem collapsible={false} name={"objectData"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"{...}","description":"The object that is serialised"}}></SchemaItem><SchemaItem collapsible={false} name={"signedWithoutObjectId"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","format":"","example":false,"description":"Indicates that objectId was left blank in serizalizedSnapshot when calculating serializedHash. objectId may subsequently be filled in."}}></SchemaItem><SchemaItem collapsible={false} name={"serizalizedSnapshot"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"{...}","description":"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.\n"}}></SchemaItem><SchemaItem collapsible={false} name={"serializedHash"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2","description":"Hash of serizalizedSnapshot (SHA-1)"}}></SchemaItem><SchemaItem collapsible={false} name={"timestamp"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"2024-01-15T10:30:00Z","description":"Timestamp of when revisioning happened. It should be ISO 8601 UTC date time"}}></SchemaItem><SchemaItem collapsible={false} name={"authorizedByIndividualId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"description":"Individual ID","type":"string"}}></SchemaItem><SchemaItem collapsible={false} name={"authorizedByOtherId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"64541a2e6e7569000145ab00","description":"Reference to an admin user that has created this revision"}}></SchemaItem><SchemaItem collapsible={false} name={"successorId"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"x-fk-model":"Revision","type":"string","description":"If this revision is no longer the latest revision, refer to its successor"}}></SchemaItem><SchemaItem collapsible={false} name={"predecessorHash"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3","description":"Tamper-resistent artifact from previous record, copied from serializedHash"}}></SchemaItem><SchemaItem collapsible={false} name={"predecessorSignature"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"c3d4e5f6a1b2...","description":"Tamper-resistent artifact from previous record (we don't know if the previous record was signed or not)"}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>pagination</strong><span className={"openapi-schema__name"}> object</span><span className={"openapi-schema__divider"}></span><span className={"openapi-schema__required"}>required</span></span></summary><div style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"currentPage"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Current page number","example":1}}></SchemaItem><SchemaItem collapsible={false} name={"totalItems"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of items available","example":25}}></SchemaItem><SchemaItem collapsible={false} name={"totalPages"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Total number of pages based on limit","example":3}}></SchemaItem><SchemaItem collapsible={false} name={"limit"} required={false} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Number of items per page","example":10}}></SchemaItem><SchemaItem collapsible={false} name={"hasPrevious"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a previous page","example":false}}></SchemaItem><SchemaItem collapsible={false} name={"hasNext"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Indicates if there's a next page","example":true}}></SchemaItem></div></details></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"dataDisclosureAgreementRecord\": {\n    \"id\": \"string\",\n    \"canonicalId\": \"string\",\n    \"dataDisclosureAgreementTemplateRevision\": {\n      \"id\": \"65471222e8c7c3bb3c2c6601\",\n      \"schemaName\": \"dataAgreement\",\n      \"objectId\": \"65471222e8c7c3bb3c2c8492\",\n      \"objectData\": \"{...}\",\n      \"signedWithoutObjectId\": false,\n      \"serizalizedSnapshot\": \"{...}\",\n      \"serializedHash\": \"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2\",\n      \"timestamp\": \"2024-01-15T10:30:00Z\",\n      \"authorizedByIndividualId\": \"string\",\n      \"authorizedByOtherId\": \"64541a2e6e7569000145ab00\",\n      \"successorId\": \"string\",\n      \"predecessorHash\": \"b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3\",\n      \"predecessorSignature\": \"c3d4e5f6a1b2...\"\n    },\n    \"dataSourceSignature\": {\n      \"id\": \"string\",\n      \"payload\": \"string\",\n      \"signature\": \"string\",\n      \"signatureDecoded\": {},\n      \"verificationMethod\": \"string\",\n      \"verificationPayload\": \"string\",\n      \"verificationPayloadHash\": \"string\",\n      \"verificationSignedBy\": \"string\",\n      \"verificationSignedAs\": \"data_source\",\n      \"verificationJwsHeader\": \"string\",\n      \"timestamp\": \"string\",\n      \"signedWithoutObjectReference\": true,\n      \"objectType\": \"data_disclosure_agreement_record\",\n      \"objectReference\": \"string\"\n    },\n    \"dataUsingServiceSignature\": {\n      \"id\": \"string\",\n      \"payload\": \"string\",\n      \"signature\": \"string\",\n      \"signatureDecoded\": {},\n      \"verificationMethod\": \"string\",\n      \"verificationPayload\": \"string\",\n      \"verificationPayloadHash\": \"string\",\n      \"verificationSignedBy\": \"string\",\n      \"verificationSignedAs\": \"data_source\",\n      \"verificationJwsHeader\": \"string\",\n      \"timestamp\": \"string\",\n      \"signedWithoutObjectReference\": true,\n      \"objectType\": \"data_disclosure_agreement_record\",\n      \"objectReference\": \"string\"\n    },\n    \"optIn\": true,\n    \"timestamp\": \"string\",\n    \"organisationId\": \"string\",\n    \"organisationRole\": \"data_source\",\n    \"isDeleted\": true\n  },\n  \"revisions\": [\n    {\n      \"id\": \"65471222e8c7c3bb3c2c6601\",\n      \"schemaName\": \"dataAgreement\",\n      \"objectId\": \"65471222e8c7c3bb3c2c8492\",\n      \"objectData\": \"{...}\",\n      \"signedWithoutObjectId\": false,\n      \"serizalizedSnapshot\": \"{...}\",\n      \"serializedHash\": \"a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2\",\n      \"timestamp\": \"2024-01-15T10:30:00Z\",\n      \"authorizedByIndividualId\": \"string\",\n      \"authorizedByOtherId\": \"64541a2e6e7569000145ab00\",\n      \"successorId\": \"string\",\n      \"predecessorHash\": \"b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3\",\n      \"predecessorSignature\": \"c3d4e5f6a1b2...\"\n    }\n  ],\n  \"pagination\": {\n    \"currentPage\": 1,\n    \"totalItems\": 25,\n    \"totalPages\": 3,\n    \"limit\": 10,\n    \"hasPrevious\": false,\n    \"hasNext\": true\n  }\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"401"} value={"401"}><div>

Unauthorized

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"404"} value={"404"}><div>

Resource not found

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem><TabItem label={"500"} value={"500"}><div>

Internal server error

</div><details style={{"textAlign":"left","marginBottom":"1rem"}} className={"openapi-markdown__details"} data-collaposed={true} open={false}><summary style={{}}><strong>Response Headers</strong></summary><ul style={{"marginLeft":"1rem"}}></ul></details><div><MimeTabs className={"openapi-tabs__mime"} schemaType={"response"}><TabItem label={"application/json"} value={"application/json"}><SchemaTabs className={"openapi-tabs__schema"}><TabItem label={"Schema"} value={"Schema"}><details style={{}} className={"openapi-markdown__details response"} data-collapsed={false} open={true}><summary style={{}} className={"openapi-markdown__details-summary-response"}><strong>Schema</strong></summary><div style={{"textAlign":"left","marginLeft":"1rem"}}></div><ul style={{"marginLeft":"1rem"}}><SchemaItem collapsible={false} name={"errorCode"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","example":400}}></SchemaItem><SchemaItem collapsible={false} name={"errorDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","example":"Bad input parameter"}}></SchemaItem></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"errorCode\": 400,\n  \"errorDescription\": \"Bad input parameter\"\n}"} language={"json"}></ResponseSamples></TabItem></SchemaTabs></TabItem></MimeTabs></div></TabItem></ApiTabs></div></div>
      