---
id: read-data-disclosure-agreement-template
title: "Read Data Disclosure Agreement Template"
description: "Reads a Data Disclosure Agreement Template."
sidebar_label: "Read Data Disclosure Agreement Template"
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"}>Read Data Disclosure Agreement Template</h1>

<MethodEndpoint method={"get"} path={"/v3/config/data-disclosure-agreement/{dataDisclosureAgreementTemplateId}"}></MethodEndpoint>



Reads a Data Disclosure Agreement Template.

## 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":"dataDisclosureAgreementTemplateId","in":"path","description":"Unique ID of a Data Disclosure Template","required":true,"schema":{"type":"string"}}}></ParamsItem></ul></div></details><div><div><ApiTabs label={undefined} id={undefined}><TabItem label={"200"} value={"200"}><div>

Data Disclosure Agreement Template Read

</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"}>dataDisclosureAgreementTemplate</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 template outlines an agreement between a Data Source and  Data Using Service that can be signed by both.


</div><SchemaItem collapsible={false} name={"context"} required={true} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","items":{"type":"string"},"description":"Array of URIs of JSON-LD contexts"}}></SchemaItem><SchemaItem collapsible={false} name={"id"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique Data Disclosure Agreement Template identifier"}}></SchemaItem><SchemaItem collapsible={false} name={"type"} required={true} schemaName={"string[]"} qualifierMessage={undefined} schema={{"type":"array","items":{"type":"string"},"example":["DataDisclosureAgreement"],"description":"The Data Disclosure Agreement type from context"}}></SchemaItem><SchemaItem collapsible={false} name={"language"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"ISO 639-1 language code (e.g. 'en' or 'sv')"}}></SchemaItem><SchemaItem collapsible={false} name={"version"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The version of this Data Disclosure Agreement Template"}}></SchemaItem><SchemaItem collapsible={false} name={"templateId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Unique Data Disclosure Agreement Template identifier (derived from 'id')"}}></SchemaItem><SchemaItem collapsible={false} name={"templateVersion"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"The version of this Data Disclosure Agreement Template (derived from 'version')"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataController</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"}}>

An organisation constituted as a legally defined entity in any jurisdiction

</div><SchemaItem collapsible={false} name={"publicKey"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Data controller public key"}}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** `<= 50 characters`"} schema={{"type":"string","maxLength":50,"description":"Data controller name"}}></SchemaItem><SchemaItem collapsible={false} name={"legalId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Data controller legal identifier"}}></SchemaItem><SchemaItem collapsible={false} name={"url"} required={true} schemaName={"uri"} qualifierMessage={undefined} schema={{"type":"string","format":"uri","description":"Data controller URL"}}></SchemaItem><SchemaItem collapsible={false} name={"industrySector"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** `<= 50 characters`"} schema={{"type":"string","maxLength":50,"description":"Data controller industry sector"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"agreementPeriod"} required={true} schemaName={"integer"} qualifierMessage={undefined} schema={{"type":"integer","description":"Days for which agreement is valid"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataSharingRestrictions</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"}}>

Restrictions on how the data is shared. OBS! Object should be 'dataSharingRestrictions'


</div><SchemaItem collapsible={false} name={"policyUrl"} required={true} schemaName={"uri"} qualifierMessage={undefined} schema={{"type":"string","format":"uri","description":"Where to find the policy"}}></SchemaItem><SchemaItem collapsible={false} name={"jurisdiction"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Jurisdiction where the data sharing restrictions apply"}}></SchemaItem><SchemaItem collapsible={false} name={"dataRetentionPeriod"} required={true} schemaName={"integer"} qualifierMessage={"**Possible values:** `>= 1`"} schema={{"type":"integer","minimum":1,"description":"How many days the data can be kept"}}></SchemaItem><SchemaItem collapsible={false} name={"geographicRestriction"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Where the data can be shared to"}}></SchemaItem><SchemaItem collapsible={false} name={"storageLocation"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Where the data is stored"}}></SchemaItem></div></details></SchemaItem><SchemaItem collapsible={false} name={"purpose"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Purpose of the Data Disclosure Agreement"}}></SchemaItem><SchemaItem collapsible={false} name={"purposeDescription"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Description of the Data Disclosure Agreement"}}></SchemaItem><SchemaItem collapsible={false} name={"lawfulBasis"} required={true} schemaName={"string"} qualifierMessage={"**Possible values:** [`contract`]"} schema={{"type":"string","enum":["contract"],"description":"Lawful basis for the Data Disclosure Agreement"}}></SchemaItem><SchemaItem collapsible={true} className={"schemaItem"}><details style={{}} className={"openapi-markdown__details"}><summary style={{}}><span className={"openapi-schema__container"}><strong className={"openapi-schema__property"}>dataAttributes</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={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"65471222e8c7c3bb3c2c8501","description":"Data attribute ID"}}></SchemaItem><SchemaItem collapsible={false} name={"name"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"Name","description":"Name of the attribute, for instance \"name\" or \"age\""}}></SchemaItem><SchemaItem collapsible={false} name={"description"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"Full name of the individual","description":"Description of the attribute"}}></SchemaItem><SchemaItem collapsible={false} name={"sensitivity"} required={false} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","format":"","example":false,"description":"Sensitivity of data attribute"}}></SchemaItem><SchemaItem collapsible={false} name={"category"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"Personal","description":"Category of data attribute"}}></SchemaItem><SchemaItem collapsible={false} name={"scope"} required={false} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","format":"","example":"read","description":"Scope required for data attribute"}}></SchemaItem><li><div style={{"fontSize":"var(--ifm-code-font-size)","opacity":"0.6","marginLeft":"-.5rem"}}>]</div></li></div></details></SchemaItem><SchemaItem collapsible={false} name={"codeOfConduct"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"URL to code of conduct"}}></SchemaItem><SchemaItem collapsible={false} name={"dataAgreementId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"ID of the connected Data Agreement"}}></SchemaItem><SchemaItem collapsible={false} name={"dataAgreementRevisionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"ID of the connected Data Agreement Revision"}}></SchemaItem><SchemaItem collapsible={false} name={"dataAgreementRevisionHash"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"Hash of the connected Data Agreement Revision"}}></SchemaItem><SchemaItem collapsible={false} name={"active"} required={true} schemaName={"boolean"} qualifierMessage={undefined} schema={{"type":"boolean","description":"Whether the Data Disclosure Agreement is published or not"}}></SchemaItem><SchemaItem collapsible={false} name={"presentationDefinitionId"} required={true} schemaName={"string"} qualifierMessage={undefined} schema={{"type":"string","description":"ID of the connected Presentation Definition"}}></SchemaItem><SchemaItem collapsible={false} name={"openApiSpecification"} required={false} schemaName={"object"} qualifierMessage={undefined} schema={{"type":"object","description":"OpenAPI specification of the Data Agreement, defining available APIs for Data Using Services"}}></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"}>revision</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></ul></details></TabItem><TabItem label={"Example (from schema)"} value={"Example (from schema)"}><ResponseSamples responseExample={"{\n  \"dataDisclosureAgreementTemplate\": {\n    \"context\": [\n      \"string\"\n    ],\n    \"id\": \"string\",\n    \"type\": [\n      \"DataDisclosureAgreement\"\n    ],\n    \"language\": \"string\",\n    \"version\": \"string\",\n    \"templateId\": \"string\",\n    \"templateVersion\": \"string\",\n    \"dataController\": {\n      \"publicKey\": \"string\",\n      \"name\": \"string\",\n      \"legalId\": \"string\",\n      \"url\": \"string\",\n      \"industrySector\": \"string\"\n    },\n    \"agreementPeriod\": 0,\n    \"dataSharingRestrictions\": {\n      \"policyUrl\": \"string\",\n      \"jurisdiction\": \"string\",\n      \"dataRetentionPeriod\": 0,\n      \"geographicRestriction\": \"string\",\n      \"storageLocation\": \"string\"\n    },\n    \"purpose\": \"string\",\n    \"purposeDescription\": \"string\",\n    \"lawfulBasis\": \"contract\",\n    \"dataAttributes\": [\n      {\n        \"id\": \"65471222e8c7c3bb3c2c8501\",\n        \"name\": \"Name\",\n        \"description\": \"Full name of the individual\",\n        \"sensitivity\": false,\n        \"category\": \"Personal\",\n        \"scope\": \"read\"\n      }\n    ],\n    \"codeOfConduct\": \"string\",\n    \"dataAgreementId\": \"string\",\n    \"dataAgreementRevisionId\": \"string\",\n    \"dataAgreementRevisionHash\": \"string\",\n    \"active\": true,\n    \"presentationDefinitionId\": \"string\",\n    \"openApiSpecification\": {}\n  },\n  \"revision\": {\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}"} 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>
      