openapi: 3.0.0 info: title: SOL DID Driver description: Resolver and Registrar for the SOL DID Method contact: email: daniel@identity.com version: 1.0.0 servers: - url: /1.0/ - url: https://virtserver.swaggerhub.com/identity.com/sol-resolver-driver/1.0.0 description: SwaggerHub API Auto Mocking paths: /identifiers/{identifier}: get: summary: Resolve a DID or other identifier. operationId: resolve parameters: - name: identifier in: path description: A DID or other identifier to be resolved. required: true style: simple explode: false schema: type: string example: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa - name: Accept in: header description: The requested MIME type of the DID document or DID resolution result. required: false style: simple explode: false schema: type: string examples: application/did+json: description: MIME type of a DID document (JSON representation) value: application/json application/did+ld+json: description: MIME type of a DID document (JSON-LD representation) value: application/did+ld+json application/ld+json;profile=\"https://w3c-ccg.github.io/did-resolution/\": description: MIME type of a DID resolution result value: application/ld+json;profile=\"https://w3c-ccg.github.io/did-resolution/\" responses: "200": description: successfully resolved! content: application/did+json: schema: type: object description: The DID document (JSON representation). example: id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa publicKey: - id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key-1 type: Ed25519VerificationKey2018 publicKeyBase58: H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV x-content-type: application/did+json application/did+ld+json: schema: type: object description: The DID document (JSON-LD representation). example: "@context": https://w3id.org/did/v1 id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa publicKey: - publicKeyBase58: jAwzBRYFBsY8PhTyjcMFxD9qRhwcPLxPP4fuxk15HjcH id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key1 usage: signing type: Secp256k1VerificationKey2018 controller: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa - publicKeyBase58: DSLYfgMTJVMuUKcEge4yNCgAAgt5Xn5YU7wniPXh7BuH id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key2 usage: encryption type: X25519KeyAgreementKey2019 controller: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa authentication: - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key1 - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key2 capabilityInvocation: - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key2 keyAgreement: - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key2 assertion: - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key1 service: - id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#agent type: AgentService serviceEndpoint: https://hub.civic.com/did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa/agent - id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#messages type: MessagingService serviceEndpoint: https://hub.civic.com/did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa/messages application/ld+json;profile=\"https://w3c-ccg.github.io/did-resolution/\": schema: $ref: '#/components/schemas/ResolutionResult' "400": description: invalid input! "500": description: error! x-swagger-router-controller: Default /register: post: summary: Registers a DID. operationId: register requestBody: content: application/json: schema: $ref: '#/components/schemas/RegisterRequest' responses: "200": description: successfully registered! content: application/json: schema: $ref: '#/components/schemas/RegisterState' "400": description: invalid input! "500": description: error! x-swagger-router-controller: Default /create: post: summary: Registers a DID. operationId: register requestBody: content: application/json: schema: $ref: '#/components/schemas/RegisterRequest' responses: "200": description: successfully registered! content: application/json: schema: $ref: '#/components/schemas/RegisterState' "400": description: invalid input! "500": description: error! x-swagger-router-controller: Default /update: post: summary: Updates a DID. operationId: update requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateRequest' responses: "200": description: successfully updated! content: application/json: schema: $ref: '#/components/schemas/UpdateState' "400": description: invalid input! "500": description: error! x-swagger-router-controller: Default /deactivate: post: summary: Deactivates a DID. operationId: deactivate requestBody: content: application/json: schema: $ref: '#/components/schemas/DeactivateRequest' responses: "200": description: successfully deactivated! content: application/json: schema: $ref: '#/components/schemas/DeactivateState' "400": description: invalid input! "500": description: error! x-swagger-router-controller: Default components: schemas: RegisterRequest: type: object properties: jobId: type: string example: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 options: type: object properties: cluster: type: string enum: - localnet - devnet - testnet - mainnet-beta default: mainnet-beta owner: type: string example: DDtm5fECmvUBA74hAtqLduEPnL4nnatjtWkAcdzBit1N secret: required: - payer type: object properties: payer: type: string example: 5UpZQ4Jfrh6QZBedtNgVTYm5dbUzWhQKDjcj9FKYwnzNU42nGaGcf4YuqscxT7iiVPNyZthnpat3d3pfpMSJ2etd didDocument: type: object additionalProperties: false description: Request parameters for the register operation. UpdateRequest: required: - identifier - secret type: object properties: jobId: type: string example: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 identifier: type: string example: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa options: type: object properties: mergeBehaviour: type: string enum: - append - overwrite default: append secret: required: - owner type: object properties: payer: type: string example: 5UpZQ4Jfrh6QZBedtNgVTYm5dbUzWhQKDjcj9FKYwnzNU42nGaGcf4YuqscxT7iiVPNyZthnpat3d3pfpMSJ2etd owner: type: string example: 5UpZQ4Jfrh6QZBedtNgVTYm5dbUzWhQKDjcj9FKYwnzNU42nGaGcf4YuqscxT7iiVPNyZthnpat3d3pfpMSJ2etd didDocument: type: object additionalProperties: false description: Request parameters for the update operation. DeactivateRequest: required: - identifier - secret type: object properties: jobId: type: string example: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 identifier: type: string example: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa options: type: object secret: required: - owner type: object properties: owner: type: string example: 5UpZQ4Jfrh6QZBedtNgVTYm5dbUzWhQKDjcj9FKYwnzNU42nGaGcf4YuqscxT7iiVPNyZthnpat3d3pfpMSJ2etd payer: type: string example: 5UpZQ4Jfrh6QZBedtNgVTYm5dbUzWhQKDjcj9FKYwnzNU42nGaGcf4YuqscxT7iiVPNyZthnpat3d3pfpMSJ2etd additionalProperties: false description: Request parameters for the deactivate operation. RegisterState: required: - didState type: object properties: jobId: type: string example: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 didState: $ref: '#/components/schemas/RegisterState_didState' registrarMetadata: type: object methodMetadata: type: object additionalProperties: false description: The state after a register operation. example: jobId: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 didState: identifier: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa state: finished secret: keys: - id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key1 type: Ed25519VerificationKey2018 controller: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa publicKeyBase58: DDtm5fECmvUBA74hAtqLduEPnL4nnatjtWkAcdzBit1N privateKeyBase58: 5YKbjHVPPszfNmRz2ULcXY6LAR2UxWVAi3pJ255WsqAo5415r4tyaGrmRUsQdrVTdmtMzXwsxyF8octa8qDsLKWx methodMetadata: {} registrarMetadata: {} UpdateState: required: - didState type: object properties: jobId: type: string example: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 didState: $ref: '#/components/schemas/UpdateState_didState' registrarMetadata: type: object methodMetadata: type: object additionalProperties: false description: The state after an update operation. example: jobId: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 didState: state: state secret: {} methodMetadata: {} registrarMetadata: {} DeactivateState: required: - didState type: object properties: jobId: type: string example: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 didState: $ref: '#/components/schemas/DeactivateState_didState' registrarMetadata: type: object methodMetadata: type: object additionalProperties: false description: The state after a deactivate operation. example: jobId: 6d85bcd0-2ea3-4288-ab00-15afadd8a156 didState: state: state methodMetadata: {} registrarMetadata: {} RegisterState_didState: type: object properties: state: type: string example: finished identifier: type: string example: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa example: identifier: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa state: finished UpdateState_didState: type: object properties: state: type: string secret: type: object example: state: state secret: {} DeactivateState_didState: type: object properties: state: type: string example: state: state ResolutionResult: type: object properties: didDocument: type: object example: "@context": https://w3id.org/did/v1 id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa publicKey: - publicKeyBase58: jAwzBRYFBsY8PhTyjcMFxD9qRhwcPLxPP4fuxk15HjcH id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key1 usage: signing type: Secp256k1VerificationKey2018 controller: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa - publicKeyBase58: DSLYfgMTJVMuUKcEge4yNCgAAgt5Xn5YU7wniPXh7BuH id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key2 usage: encryption type: X25519KeyAgreementKey2019 controller: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa authentication: - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key1 - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key2 capabilityInvocation: - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key2 keyAgreement: - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key2 assertion: - did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#key1 service: - id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#agent type: AgentService serviceEndpoint: https://hub.civic.com/did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa/agent - id: did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa#messages type: MessagingService serviceEndpoint: https://hub.civic.com/did:sol:ygGfLvAyuRymPNv2fJDK1ZMpdy59m8cV5dak6A8uHKa/messages resolverMetadata: type: object methodMetadata: type: object additionalProperties: false description: The DID resolution result.