# Claim models

The endpoints that allow GET, PATCH or POST of parties, make use of claims as a way of structuring party information. This page contains the available claim models in the iSHARE Framework. Further claims and their models may be defined by dataspaces if needed.

* [#framework-compliance-claim](#framework-compliance-claim "mention")
* [#authorisation-registry-claim](#authorisation-registry-claim "mention")
* [#framework-agreement-claim](#framework-agreement-claim "mention")
* [#framework-role-claim](#framework-role-claim "mention")
* [#dataspace-membership-claim](#dataspace-membership-claim "mention")
* [#dataspace-agreement-claim](#dataspace-agreement-claim "mention")
* [#dataspace-role-claim](#dataspace-role-claim "mention")
* [#x509-certificate-chain-claim](#x509-certificate-chain-claim "mention")
* [#idp-assertion-claim](#idp-assertion-claim "mention")

## Framework Compliance Claim

Participant claim that holds framework compliance. Contains the following attributes.

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the claim, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the framework compliance (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate` <mark style="color:red;">(Required)</mark>\
  **String**. UTC timestamp of the start date of the framework compliance.
* `endDate` <mark style="color:red;">(Required)</mark>\
  **String**. UTC timestamp of the end date of the framework compliance.
* `type` <mark style="color:red;">(Required)</mark>\
  **String**. Must contain `frameworkComplianceship` for this type of claim.
* `frameworkId` <mark style="color:red;">(Required)</mark>\
  **String**. ID of the framework the compliance is claimed for.
* `capabilityUrl`\
  **String**. Capabilities endpoint of the party in the framework.
* `additionalInfo`\
  **Object**. Object which contains additional general contact information of the party.
  * `description`\
    **String**. A brief description of the party.
  * `logo`\
    **String**. URL pointing to the endpoint where company logo can be found.
  * `website`\
    **String**. Website address of the party.
  * `companyPhone`\
    **String**. General company phone number of the party.
  * `companyEmail`\
    **String**. General company email id of the party.
  * `publiclyPublishable` <mark style="color:red;">(Required)</mark>\
    **String**. Consent to publicly publish the information contained in this additionalInfo object.
  * `countriesOfOperation`\
    **Array of strings**. An array of ISO names of the countries where the party operates.
  * `sectorIndustry`\
    **Array of strings**. An array of GICS based sectors/industry that party serves in.
  * `tags`\
    **String**. A free text field containing keywords relevant for party.

## Authorisation Registry Claim

Presents the selected Authorisation Registry to be used for the participant. Contains the following attributes:

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the Authorisation Registry provider, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the framework compliance (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate`\
  **String**. UTC timestamp of the start date of the authorisation registry claim.
* `endDate`\
  **String**. UTC timestamp of the end date of the authorisation registry claim.
* `name` <mark style="color:red;">(Required)</mark>\
  **String**. The official name of the Authorisation Registry provider.
* `authRegistryId` <mark style="color:red;">(Required)</mark>\
  **String**. The Id of the authorisation registry provider.
* `authUrl` <mark style="color:red;">(Required)</mark>\
  **String**. The URL endpoint of the Authorisation Registry, where authorisations can be queried or checked for the party.
* `type` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Must contain `authRegistry` for this type of claim.
* `dataspaceId`\
  **String**. Optional ID of the dataspace for which this AR is selected by the Entitled Party.
* `frameworkId`\
  **String**. Optional ID of the framework for which this AR is selected by the Entitled Party.
* `serviceProviderPartyId`\
  **String**. Optional party id of the Service Provider for which this AR is selected by the Entitled Party.

## Framework Agreement Claim

Presents the claims for the Accession Agreement and Terms of Use are required at minimum, may have additional agreements. Contains the following attributes:

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the claim, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the framework agreement (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate`\
  **String**. UTC timestamp of the start date of the framework agreement claim.
* `endDate`\
  **String**. UTC timestamp of the end date of the framework agreement claim.
* `agreementType` <mark style="color:red;">(Required)</mark>\
  **String**. Descriptive type of the agreement. Framework or dataspace may define agreement types.
* `agreementId` <mark style="color:red;">(Required)</mark>\
  **String**. ID that refers to the agreement.
* `title` <mark style="color:red;">(Required)</mark>\
  **String**. The name of the agreement or agreement file
* `verificationHash`\
  **String**. The calculated hash of the agreement file that has been uploaded. Note agreements are not stored in the ledger, but only their hash. The verificationHash must be calculated using the SHA256 hashing algorithm.
* `type` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Must contain `frameworkAgreement` for this type of claim.
* `frameworkId` <mark style="color:red;">(Required)</mark>\
  **String**. ID of the framework the membership is claimed for.

## Framework Role Claim

When dataspace adefines its own roles for participants, it can be added through this claim. Contains the following attributes:

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the claim, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the framework role (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate`\
  **String**. UTC timestamp of the start date of the framework role claim.
* `endDate`\
  **String**. UTC timestamp of the end date of the framework role claim.
* `roleId` <mark style="color:red;">(Required)</mark>\
  **String**. Name of the role as defined by the framework or dataspace. iSHARE defines the following roles: EntitledParty, ServiceConsumer, ServiceProvider, AuthorisationRegistry, ParticipantRegistry, IdentityProvider, IdentityBroker.
* `title`\
  **String**. Title of the role
* `loa` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Party's level of assurance. Available values are low, substantial and high.
* `compliancyVerified` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Compliance requirements of this role has been met by party. Possible values are yes, no and not-applicable.
* `legalAdherence` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Legal requirements of this role has been met by the party including signing of appropriate agreements. Possible values are yes, no and not-applicable.
* `type` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Must contain `frameworkRole` for this type of claim.
* `frameworkId` <mark style="color:red;">(Required)</mark>\
  **String**. ID of the framework the membership is claimed for.

## Dataspace Membership Claim

Participant claim that holds dataspace membership. Contains the following attributes.

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the claim, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the dataspace membership (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate`\
  **String**. UTC timestamp of the start date of the dataspace membership claim.
* `endDate`\
  **String**. UTC timestamp of the end date of the dataspace membership claim.
* `type` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Must contain `dataspaceMembership` for this type of claim.
* `dataspaceId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the dataspace of which the participant is a member of.
* `capabilityUrl`\
  **String**. Capabilities endpoint of the party in the dataspace.
* `legalAdherence` <mark style="color:red;">(Required)</mark>\
  **String**. Whether legal adherence is required, not required or not applicable. Possible values are yes, no and not-applicable.
* `additionalInfo`\
  **Object**. Object which contains additional general contact information of the party.
  * `description`\
    **String**. A brief description of the party.
  * `logo`\
    **String**. URL pointing to the endpoint where company logo can be found.
  * `website`\
    **String**. Website address of the party.
  * `companyPhone`\
    **String**. General company phone number of the party.
  * `companyEmail`\
    **String**. General company email id of the party.
  * `publiclyPublishable` <mark style="color:red;">(Required)</mark>\
    **String**. Consent to publicly publish the information contained in this additionalInfo object.
  * `countriesOfOperation`\
    **Array of strings**. An array of ISO names of the countries where the party operates.
  * `sectorIndustry`\
    **Array of strings**. An array of GICS based sectors/industry that party serves in.
  * `tags`\
    **String**. A free text field containing keywords relevant for party.

## Dataspace Agreement Claim

When a dataspace defines its own agreement for participants, it can be added through this claim. Contains the following attributes:

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the claim, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the dataspace agreement (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate`\
  **String**. UTC timestamp of the start date of the dataspace agreement claim.
* `endDate`\
  **String**. UTC timestamp of the end date of the dataspace agreement claim.
* `agreementType` <mark style="color:red;">(Required)</mark>\
  **String**. Descriptive type of the agreement. Framework or dataspace may define agreement types.
* `agreementId` <mark style="color:red;">(Required)</mark>\
  **String**. ID that refers to the agreement.
* `title` <mark style="color:red;">(Required)</mark>\
  **String**. The name of the agreement or agreement file
* `verificationHash`\
  **String**. The calculated hash of the agreement file that has been uploaded. Note agreements are not stored in the ledger, but only their hash. The verificationHash must be calculated using the SHA256 hashing algorithm.
* `type` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Must contain `dataspaceAgreement` for this type of claim.
* `dataspaceId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the dataspace of which the participant is a member of.

## Dataspace Role Claim

When dataspace adefines its own roles for participants, it can be added through this claim. Contains the following attributes:

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the claim, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the dataspace role (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate` <mark style="color:red;">(Required)</mark>\
  **String**. UTC timestamp of the start date of the dataspace role claim.
* `endDate` <mark style="color:red;">(Required)</mark>\
  **String**. UTC timestamp of the end date of the dataspace role claim.
* `roleId` <mark style="color:red;">(Required)</mark>\
  **String**. Name of the role as defined by the framework or dataspace.
* `title`\
  **String**. Title of the role
* `loa` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Party's level of assurance. Available values are low, substantial and high.
* `compliancyVerified` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Compliance requirements of this role has been met by party. Possible values are yes, no and not-applicable.
* `legalAdherence` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Legal requirements of this role has been met by the party including signing of appropriate agreements. Possible values are yes, no and not-applicable.
* `type` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Must contain `dataspaceRole` for this type of claim.
* `dataspaceId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the dataspace of which the participant is a member of.

## x509 Certificate Chain Claim

Required if no IDP assertion claim is present. x509Certificate claim must be a valid certificate issued by a Root from the trusted list. Contains the following attributes:

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the claim, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the X.509 certificate (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate`\
  **String**. UTC timestamp of the start date of the X.509 certificate claim.
* `endDate`\
  **String**. UTC timestamp of the end date of the X.509 certificate claim.
* `type` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Must contain `x509Certificate` for this type of claim.
* `subjectName` <mark style="color:red;">(Required)</mark>\
  **String**. subjectName as encoded in the X.509 certificate which corresponds with the party that is being requested from the Participant Registry. Used by the Participant Registry to match the certificate identifier.
* `certificateType` <mark style="color:red;">(Required)</mark>\
  **String**. Type of certificate
* `x5c` <mark style="color:red;">(Required)</mark>\
  **String**. The base64 encoded pem format value of the certificate identified by its subject name and fingerprint
* `x5t#s256` <mark style="color:red;">(Required)</mark>\
  **String**. The SHA256 fingerprint of the certificate

## IDP Assertion Claim

Required if no x509Certificate claim is present. idpAssertion claim must be a valid assertion issued by an Identity Provider. Contains the following attributes:

* `id` <mark style="color:red;">(Required)</mark>\
  **String**. Unique identifier of the claim, must be a UUID.
* `status` <mark style="color:red;">(Required)</mark>\
  **String (enum)**. Status of the IDP Assertion (active, inactive, revoked or suspended).
* `registrarId` <mark style="color:red;">(Required)</mark>\
  **String**. Identifier of the party who registered the claim. This can be any of the Party ID from id (iSHARE ID) or alsoKnownAs attributes of that participant.
* `startDate`\
  **String**. UTC timestamp of the start date of the IDP Assertion claim.
* `endDate`\
  **String**. UTC timestamp of the end date of the IDP Assertion claim.
* `type` <mark style="color:red;">(Required)</mark>\
  **String(enum)**. Must contain `idpAssertion` for this type of claim.
* `assertion` <mark style="color:red;">(Required)</mark>\
  **String**. Value of the assertion.
