UNPKG

@sphereon/gx-compliance-client

Version:

<!--suppress HtmlDeprecatedAttribute --> <h1 align="center"> <br> <a href="https://www.sphereon.com"><img src="https://sphereon.com/content/themes/sphereon/assets/img/logo.svg" alt="Sphereon" width="400"></a> <br>Gaia-X Compliance client (Typescript

746 lines (745 loc) 23.4 kB
{ "IGaiaxComplianceClient": { "components": { "schemas": { "IAddServiceOfferingArgs": { "type": "object", "properties": { "serviceOfferingVP": { "$ref": "#/components/schemas/IVerifiablePresentation" } }, "required": ["serviceOfferingVP"] }, "IVerifiablePresentation": { "type": "object", "properties": { "proof": { "anyOf": [ { "$ref": "#/components/schemas/IProof" }, { "type": "array", "items": { "$ref": "#/components/schemas/IProof" } } ] }, "id": { "type": "string" }, "@context": { "anyOf": [ { "$ref": "#/components/schemas/ICredentialContextType" }, { "type": "array", "items": { "$ref": "#/components/schemas/ICredentialContextType" } } ] }, "type": { "type": "array", "items": { "type": "string" } }, "verifiableCredential": { "type": "array", "items": { "$ref": "#/components/schemas/W3CVerifiableCredential" } }, "presentation_submission": { "$ref": "#/components/schemas/PresentationSubmission" }, "holder": { "type": "string" } }, "required": ["@context", "proof", "type", "verifiableCredential"] }, "IProof": { "type": "object", "properties": { "type": { "anyOf": [ { "$ref": "#/components/schemas/IProofType" }, { "type": "string" } ] }, "created": { "type": "string" }, "proofPurpose": { "anyOf": [ { "$ref": "#/components/schemas/IProofPurpose" }, { "type": "string" } ] }, "verificationMethod": { "type": "string" }, "challenge": { "type": "string" }, "domain": { "type": "string" }, "proofValue": { "type": "string" }, "jws": { "type": "string" }, "nonce": { "type": "string" }, "requiredRevealStatements": { "type": "array", "items": { "type": "string" } } }, "required": ["type", "created", "proofPurpose", "verificationMethod"] }, "IProofType": { "type": "string", "enum": [ "Ed25519Signature2018", "Ed25519Signature2020", "EcdsaSecp256k1Signature2019", "EcdsaSecp256k1RecoverySignature2020", "JsonWebSignature2020", "RsaSignature2018", "GpgSignature2020", "JcsEd25519Signature2020", "BbsBlsSignatureProof2020", "BbsBlsBoundSignatureProof2020" ] }, "IProofPurpose": { "type": "string", "enum": [ "verificationMethod", "assertionMethod", "authentication", "keyAgreement", "contactAgreement", "capabilityInvocation", "capabilityDelegation" ] }, "ICredentialContextType": { "anyOf": [ { "type": "object", "properties": { "name": { "type": "string" }, "did": { "type": "string" } } }, { "type": "string" } ] }, "W3CVerifiableCredential": { "anyOf": [ { "$ref": "#/components/schemas/IVerifiableCredential" }, { "$ref": "#/components/schemas/CompactJWT" } ], "description": "Represents a signed Verifiable Credential (includes proof), in either JSON or compact JWT format. See {@link https://www.w3.org/TR/vc-data-model/#credentials | VC data model } \nSee {@link https://www.w3.org/TR/vc-data-model/#proof-formats | proof formats }" }, "IVerifiableCredential": { "type": "object", "properties": { "proof": { "anyOf": [ { "$ref": "#/components/schemas/IProof" }, { "type": "array", "items": { "$ref": "#/components/schemas/IProof" } } ] }, "@context": { "anyOf": [ { "$ref": "#/components/schemas/ICredentialContextType" }, { "type": "array", "items": { "$ref": "#/components/schemas/ICredentialContextType" } } ] }, "type": { "type": "array", "items": { "type": "string" } }, "credentialSchema": { "anyOf": [ { "$ref": "#/components/schemas/ICredentialSchemaType" }, { "type": "array", "items": { "$ref": "#/components/schemas/ICredentialSchemaType" } } ] }, "issuer": { "anyOf": [ { "$ref": "#/components/schemas/IIssuerId" }, { "$ref": "#/components/schemas/IIssuer" } ] }, "issuanceDate": { "type": "string" }, "credentialSubject": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" } } }, { "type": "array", "items": { "type": "object", "properties": { "id": { "type": "string" } } } } ] }, "expirationDate": { "type": "string" }, "id": { "type": "string" }, "credentialStatus": { "$ref": "#/components/schemas/ICredentialStatus" }, "description": { "type": "string" }, "name": { "type": "string" } }, "required": ["@context", "credentialSubject", "issuanceDate", "issuer", "proof", "type"] }, "ICredentialSchemaType": { "anyOf": [ { "$ref": "#/components/schemas/ICredentialSchema" }, { "type": "string" } ] }, "ICredentialSchema": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } }, "required": ["id"] }, "IIssuerId": { "type": "string" }, "IIssuer": { "type": "object", "properties": { "id": { "type": "string" } }, "required": ["id"] }, "ICredentialStatus": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } }, "required": ["id", "type"] }, "CompactJWT": { "type": "string", "description": "Represents a Json Web Token in compact form." }, "PresentationSubmission": { "type": "object", "properties": { "id": { "type": "string", "description": "A UUID or some other unique ID to identify this Presentation Submission" }, "definition_id": { "type": "string", "description": "A UUID or some other unique ID to identify this Presentation Definition" }, "descriptor_map": { "type": "array", "items": { "$ref": "#/components/schemas/Descriptor" }, "description": "List of descriptors of how the claims are being mapped to presentation definition" } }, "required": ["id", "definition_id", "descriptor_map"], "description": "It expresses how the inputs are presented as proofs to a Verifier." }, "Descriptor": { "type": "object", "properties": { "id": { "type": "string", "description": "ID to identify the descriptor from Presentation Definition Input Descriptor it coresponds to." }, "path": { "type": "string", "description": "The path where the verifiable credential is located in the presentation submission json" }, "path_nested": { "$ref": "#/components/schemas/Descriptor" }, "format": { "type": "string", "description": "The Proof or JWT algorith that the proof is in" } }, "required": ["id", "path", "format"], "description": "descriptor map laying out the structure of the presentation submission." }, "IGaiaxOnboardingResult": { "type": "object", "properties": { "conforms": { "type": "boolean" }, "isValidSignature": { "type": "boolean" }, "shape": { "$ref": "#/components/schemas/IGaiaxConformityResult" }, "content": { "$ref": "#/components/schemas/IGaiaxConformityResult" } }, "required": ["conforms", "isValidSignature", "shape", "content"] }, "IGaiaxConformityResult": { "type": "object", "properties": { "conforms": { "type": "boolean" }, "results": { "type": "array", "items": {} } }, "required": ["conforms", "results"] }, "IAddServiceOfferingUnsignedArgs": { "type": "object", "properties": { "challenge": { "type": "string" }, "customContext": { "type": "string" }, "key": { "$ref": "#/components/schemas/IKey" }, "purpose": { "type": "string" }, "subject": { "$ref": "#/components/schemas/ICredentialSubject" }, "type": { "$ref": "#/components/schemas/IGaiaxCredentialType" }, "verificationMethodId": { "type": "string" } }, "required": ["customContext", "key", "purpose", "subject", "type", "verificationMethodId"] }, "IKey": { "type": "object", "properties": { "kid": { "type": "string", "description": "Key ID" }, "kms": { "type": "string", "description": "Key Management System" }, "type": { "$ref": "#/components/schemas/TKeyType", "description": "Key type" }, "publicKeyHex": { "type": "string", "description": "Public key" }, "privateKeyHex": { "type": "string", "description": "Optional. Private key" }, "meta": { "anyOf": [ { "$ref": "#/components/schemas/KeyMetadata" }, { "type": "null" } ], "description": "Optional. Key metadata. This should be used to determine which algorithms are supported." } }, "required": ["kid", "kms", "type", "publicKeyHex"], "description": "Cryptographic key" }, "TKeyType": { "type": "string", "enum": ["Ed25519", "Secp256k1", "Secp256r1", "X25519", "Bls12381G1", "Bls12381G2"], "description": "Cryptographic key type." }, "KeyMetadata": { "type": "object", "properties": { "algorithms": { "type": "array", "items": { "type": "string" } } }, "description": "This encapsulates data about a key.\n\nImplementations of {@link @veramo/key-manager#AbstractKeyManagementSystem | AbstractKeyManagementSystem } should populate this object, for each key, with the algorithms that can be performed using it.\n\nThis can also be used to add various tags to the keys under management." }, "ICredentialSubject": { "type": "object", "properties": { "id": { "type": "string" } } }, "IGaiaxCredentialType": { "type": "string", "enum": ["ServiceOffering", "LegalPerson", "NaturalPerson"] }, "IGetComplianceCredentialArgs": { "type": "object", "properties": { "selfDescribedVP": { "$ref": "#/components/schemas/IVerifiablePresentation" } }, "required": ["selfDescribedVP"] }, "IGetComplianceCredentialFromUnsignedParticipantArgs": { "type": "object", "properties": { "challenge": { "type": "string" }, "purpose": { "type": "string" }, "verificationMethodId": { "type": "string" }, "key": { "$ref": "#/components/schemas/IKey" }, "customContext": { "type": "string" }, "subject": { "$ref": "#/components/schemas/ICredentialSubject" }, "type": { "$ref": "#/components/schemas/IGaiaxCredentialType" } }, "required": ["purpose", "verificationMethodId", "key", "customContext", "subject", "type"] }, "IIssueVerifiableCredentialArgs": { "type": "object", "properties": { "customContext": { "type": "string" }, "key": { "$ref": "#/components/schemas/IKey" }, "purpose": { "type": "string" }, "subject": { "$ref": "#/components/schemas/ICredentialSubject" }, "type": { "$ref": "#/components/schemas/IGaiaxCredentialType" }, "verificationMethodId": { "type": "string" } }, "required": ["customContext", "key", "purpose", "subject", "type", "verificationMethodId"] }, "IIssueVerifiablePresentationArgs": { "type": "object", "properties": { "challenge": { "type": "string" }, "customContext": { "type": "string" }, "key": { "$ref": "#/components/schemas/IKey" }, "purpose": { "type": "string" }, "verifiableCredentials": { "type": "array", "items": { "$ref": "#/components/schemas/W3CVerifiableCredential" } }, "verificationMethodId": { "type": "string" } }, "required": ["customContext", "key", "purpose", "verifiableCredentials", "verificationMethodId"] }, "VerifiableCredential": { "type": "object", "properties": { "proof": { "$ref": "#/components/schemas/ProofType" }, "issuer": { "$ref": "#/components/schemas/IssuerType" }, "credentialSubject": { "$ref": "#/components/schemas/CredentialSubject" }, "type": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "string" } ] }, "@context": { "anyOf": [ { "type": "array", "items": { "type": "string" } }, { "type": "string" } ] }, "issuanceDate": { "type": "string" }, "expirationDate": { "type": "string" }, "credentialStatus": { "$ref": "#/components/schemas/CredentialStatusReference" }, "id": { "type": "string" } }, "required": ["@context", "credentialSubject", "issuanceDate", "issuer", "proof"], "description": "Represents a signed Verifiable Credential payload (includes proof), using a JSON representation. See {@link https://www.w3.org/TR/vc-data-model/#credentials | VC data model }" }, "ProofType": { "type": "object", "properties": { "type": { "type": "string" } }, "description": "A proof property of a {@link VerifiableCredential } or {@link VerifiablePresentation }" }, "IssuerType": { "anyOf": [ { "type": "object", "properties": { "id": { "type": "string" } }, "required": ["id"] }, { "type": "string" } ], "description": "The issuer of a {@link VerifiableCredential } or the holder of a {@link VerifiablePresentation } .\n\nThe value of the issuer property MUST be either a URI or an object containing an id property. It is RECOMMENDED that the URI in the issuer or its id be one which, if de-referenced, results in a document containing machine-readable information about the issuer that can be used to verify the information expressed in the credential.\n\nSee {@link https://www.w3.org/TR/vc-data-model/#issuer | Issuer data model }" }, "CredentialSubject": { "type": "object", "properties": { "id": { "type": "string" } }, "description": "The value of the credentialSubject property is defined as a set of objects that contain one or more properties that are each related to a subject of the verifiable credential. Each object MAY contain an id.\n\nSee {@link https://www.w3.org/TR/vc-data-model/#credential-subject | Credential Subject }" }, "CredentialStatusReference": { "type": "object", "properties": { "id": { "type": "string" }, "type": { "type": "string" } }, "required": ["id", "type"], "description": "Used for the discovery of information about the current status of a verifiable credential, such as whether it is suspended or revoked. The precise contents of the credential status information is determined by the specific `credentialStatus` type definition, and varies depending on factors such as whether it is simple to implement or if it is privacy-enhancing.\n\nSee {@link https://www.w3.org/TR/vc-data-model/#status | Credential Status }" } }, "methods": { "addServiceOffering": { "description": "", "arguments": { "$ref": "#/components/schemas/IAddServiceOfferingArgs" }, "returnType": { "$ref": "#/components/schemas/IGaiaxOnboardingResult" } }, "addServiceOfferingUnsigned": { "description": "", "arguments": { "$ref": "#/components/schemas/IAddServiceOfferingUnsignedArgs" }, "returnType": { "$ref": "#/components/schemas/IGaiaxOnboardingResult" } }, "getComplianceCredential": { "description": "", "arguments": { "$ref": "#/components/schemas/IGetComplianceCredentialArgs" }, "returnType": { "$ref": "#/components/schemas/IVerifiableCredential" } }, "getComplianceCredentialFromUnsignedParticipant": { "description": "", "arguments": { "$ref": "#/components/schemas/IGetComplianceCredentialFromUnsignedParticipantArgs" }, "returnType": { "$ref": "#/components/schemas/IVerifiableCredential" } }, "issueVerifiableCredential": { "description": "", "arguments": { "$ref": "#/components/schemas/IIssueVerifiableCredentialArgs" }, "returnType": { "$ref": "#/components/schemas/IVerifiableCredential" } }, "issueVerifiablePresentation": { "description": "", "arguments": { "$ref": "#/components/schemas/IIssueVerifiablePresentationArgs" }, "returnType": { "$ref": "#/components/schemas/IVerifiablePresentation" } } } } } }