UNPKG

@i3m/wallet-desktop-openapi

Version:

i3M-Wallet Developers API that can be used to interact with the i3M-Wallet. In production it is encapsulated inside a secure connection. Please use the @i3m/wallet-protocol-api to interact with the wallet.

302 lines (288 loc) 8.52 kB
openapi: '3.0.3' info: version: 1.0.0 title: i3M Wallet API paths: /resources: get: summary: Lists the resources that match the filter specified in the query parameters. operationId: resourceList x-eov-operation-handler: resources tags: - resources parameters: - in: query name: type example: Contract required: false schema: $ref: "#/components/schemas/ResourceType" description: Filter the resources by resource type. - in: query name: identity example: did:ethr:i3m:0x031bee96cfae8bad99ea0dd3d08d1a3296084f894e9ddfe1ffe141133e81ac5863 allowEmptyValue: true required: false schema: $ref: "../schema/identity.yaml#/components/schemas/did" description: Filter the resource associated to an identity DID. Send empty value to get all the resources that are not associated to any identity. - in: query name: parentResource required: false schema: type: string description: Get only resources with the given parent resource id. responses: "200": description: A paged array of resources. Only the props requested will be returned. Security policies may prevent some props from being returned. content: application/json: schema: $ref: "#/components/schemas/ResourceListOutput" default: description: unexpected error content: application/json: schema: $ref: "../schema/error.yaml#/components/schemas/ApiError" post: summary: Create a resource operationId: resourceCreate x-eov-operation-handler: resources tags: - resources requestBody: description: Create a resource. Nowadays it only supports storage of verifiable credentials. content: application/json: schema: $ref: "#/components/schemas/Resource" responses: "201": description: the ID and type of the created resource content: application/json: schema: $ref: "#/components/schemas/ResourceId" default: description: unexpected error content: application/json: schema: $ref: "../schema/error.yaml#/components/schemas/ApiError" components: schemas: ResourceListOutput: title: ResourceListOutput description: A list of resources type: array items: $ref: "#/components/schemas/Resource" # $ref: "#/components/schemas/ResourceId" # allOf: # - $ref: "#/components/schemas/ResourceId" # - $ref: "#/components/schemas/Resource" Resource: title: Resource anyOf: - $ref: "#/components/schemas/VerifiableCredential" - $ref: "#/components/schemas/ObjectResource" - $ref: "#/components/schemas/KeyPair" - $ref: "#/components/schemas/Contract" - $ref: "#/components/schemas/NonRepudiationProof" - $ref: "#/components/schemas/DataExchangeResource" VerifiableCredential: title: VerifiableCredential type: object properties: type: $ref: "#/components/schemas/ResourceType" example: VerifiableCredential enum: - VerifiableCredential name: type: string example: 'Resource name' resource: type: object properties: "@context": type: array items: type: string example: ['https://www.w3.org/2018/credentials/v1'] id: type: string example: http://example.edu/credentials/1872 type: type: array items: type: string example: ['VerifiableCredential'] issuer: type: object properties: id: $ref: "../schema/identity.yaml#/components/schemas/did" additionalProperties: true required: - id issuanceDate: type: string format: date-time example: "2021-06-10T19:07:28.000Z" credentialSubject: type: object properties: id: $ref: "../schema/identity.yaml#/components/schemas/did" required: - id additionalProperties: true proof: type: object properties: type: type: string enum: - JwtProof2020 required: - type additionalProperties: true additionalProperties: true required: - "@context" - type - issuer - issuanceDate - credentialSubject - proof required: - type - resource ObjectResource: title: ObjectResource type: object properties: type: $ref: "#/components/schemas/ResourceType" example: Object enum: - Object name: type: string example: 'Resource name' parentResource: type: string identity: $ref: "../schema/identity.yaml#/components/schemas/did" resource: type: object additionalProperties: true required: - type - resource KeyPair: title: JWK pair type: object properties: type: $ref: "#/components/schemas/ResourceType" example: KeyPair enum: - KeyPair name: type: string example: 'Resource name' identity: $ref: "../schema/identity.yaml#/components/schemas/did" resource: type: object properties: keyPair: $ref: "../schema/jwkPair.yaml#/components/schemas/JwkPair" required: - keyPair required: - type - resource Contract: title: Contract type: object properties: type: $ref: "#/components/schemas/ResourceType" example: Contract enum: - Contract name: type: string example: 'Resource name' identity: $ref: "../schema/identity.yaml#/components/schemas/did" resource: type: object properties: dataSharingAgreement: $ref: "../schema/dataSharingAgreement.yaml#/components/schemas/DataSharingAgreement" keyPair: $ref: "../schema/jwkPair.yaml#/components/schemas/JwkPair" required: - dataSharingAgreement required: - type - resource DataExchangeResource: title: DataExchangeResource type: object properties: type: $ref: "#/components/schemas/ResourceType" example: DataExchange enum: - DataExchange name: type: string example: 'Resource name' resource: $ref: '../schema/dataExchange.yaml#/components/schemas/DataExchange' required: - type - resource NonRepudiationProof: title: NonRepudiationProof type: object properties: type: $ref: "#/components/schemas/ResourceType" example: NonRepudiationProof enum: - NonRepudiationProof name: type: string example: 'Resource name' resource: $ref: "../schema/jws.yaml#/components/schemas/CompactJWS" description: a non-repudiation proof (either a PoO, a PoR or a PoP) as a compact JWS required: - type - resource ResourceId: type: object properties: id: type: string required: - id ResourceType: type: string enum: - VerifiableCredential - Object - KeyPair - Contract - DataExchange - NonRepudiationProof