swagger: "2.0" info: version: 1.0.0 title: HolderAPI description: | - Holder用のAPI仕様書 schemes: - https host: APIGATEWAY_ENDPOINT basePath: / tags: - name: "VerifiableCredential" description: Verifiable Credentialに関するエンドポイント - name: "Identifier" description: Identifierと鍵ペアに関するエンドポイント - name: "JWT" description: DID DocumentにDelegateしたアドレスであればJWTの作成が可能。JWTはDelegateされていればアクセス可能なサイトの認証で使用する。 - name: "Document" description: DIDドキュメントに関するエンドポイント # エンドポイント paths: /identifier: get: summary: 保有しているIdentifierと鍵ペアの一覧を取得 tags: - Identifier responses: 200: description: DynamoDBから取得した公開鍵、アドレス、identifierを返す schema: type: object example: [{"publicKey":{"S":"0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e"},"address":{"S":"0xcCbE7F556A4d7F929C5718b38AFb0712300259eC"},"identifier":{"S":"0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e"}}] post: summary: Identifierと鍵ペアを作成しDynamoDBに記録する tags: - Identifier responses: 200: description: 成功 /jwt: get: summary: JWtの発行 tags: - JWT parameters: - in: query name: identifier description: jwtを発行するidentifier schema: type: string - in: query name: address description: JWTに電子署名をする鍵ペアのアドレスを指定する schema: type: string responses: 200: description: 電子署名をしたJWTを返す schema: type: string example: "eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NkstUiJ9.eyJpYXQiOjE2NzM5MzM5NTQsImlzcyI6ImRpZDpldGhyOjB4NToweEQ5YkIwNGNGNzE0N2NCY2RjMDMwNTJERjVkQTY0YWY0MDBkNzEwYjEifQ.X14HDeDI_NTQwie04XZPvxx7WkfwhIfQ-cGMfE8kCVDWgfByFpgZ7HrCU5bdwMXQgwKreZGI1NVXmWyevZRsTgE" post: summary: JWtの検証 tags: - JWT parameters: - in: query name: identifier description: jwtを検証するidentifier schema: type: string - in: query name: jwt description: 検証するJWT schema: type: string responses: 200: description: 検証結果 schema: type: object example: {"issuer":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e","payload":{"iat":1673934072,"iss":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e"}} /document: get: summary: DID Documentの取得 tags: - Document parameters: - in: query name: did_url description: 取得するDID Documentのアドレス schema: type: string responses: 200: description: DID Documentを返す schema: type: object example: {"didDocument":{"@context":["https://www.w3.org/ns/did/v1","https://w3id.org/security/suites/secp256k1recovery-2020/v2"],"id":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e","verificationMethod":[{"id":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#controller","type":"EcdsaSecp256k1RecoveryMethod2020","controller":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e","blockchainAccountId":"eip155:5:0xcCbE7F556A4d7F929C5718b38AFb0712300259eC"},{"id":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#controllerKey","type":"EcdsaSecp256k1VerificationKey2019","controller":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e","publicKeyHex":"03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e"},{"id":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#delegate-1","type":"EcdsaSecp256k1RecoveryMethod2020","controller":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e","blockchainAccountId":"eip155:5:0x088803d30548857da9F6bfae92BeC0536C8030b3"}],"authentication":["did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#controller","did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#controllerKey"],"assertionMethod":["did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#controller","did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#controllerKey","did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#delegate-1"],"service":[{"id":"did:ethr:0x5:0x03151c2fc618abad24ec0e994d7824cee50a4354979c0cb9e1fa22bf643a5e864e#service-1","type":"test","serviceEndpoint":"https://xxxxxxxx.execute-api.ap-northeast-1.amazonaws.com/prod//download/test4/testFileName.json\t"}]}} /owner: get: summary: DID Documentのオーナーを取得 tags: - Document parameters: - in: query name: identifier description: 取得するDID DocumentのIdentifier schema: type: string responses: 200: description: DID Documentのオーナー schema: type: string example: "0xcCbE7F556A4d7F929C5718b38AFb0712300259eC" /vc: post: summary: Verifiable Credentialの検証 tags: - VerifiableCredential parameters: - name: body in: body description: 検証するVerifiable Credentialのオブジェクト schema: type: object required: - "@contents" - credentialSubject - id - issuanceDate - issuer - proof - type properties: "@contents": type: object credentialSubject: type: object id: type: string issuanceDate: type: string issuer: type: string proof: type: object type: type: object responses: 200: description: 検証結果 schema: type: object example: {"status":"success"}