diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 410cfed1..dace7395 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -14,7 +14,7 @@ jobs: if: "!contains(github.event.head_commit.message, '[ci skip]')" steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: # needed for the license header check fetch-depth: 0 diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index f8769cf2..234185a0 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Setup Java uses: actions/setup-java@v3 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index df514526..a733d179 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -6,7 +6,7 @@ jobs: publish: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: actions/setup-java@v3 with: distribution: 'temurin' diff --git a/README.md b/README.md index 45dada06..b52b2923 100644 --- a/README.md +++ b/README.md @@ -158,6 +158,7 @@ Convenience library based on okhttp and gson to interact with [aries cloud agent | DELETE | /mediation/requests/{mediation_id} | :white_check_mark: | | POST | /mediation/requests/{mediation_id}/deny | :white_check_mark: | | POST | /mediation/requests/{mediation_id}/grant | :white_check_mark: | +| POST | /mediation/update-keylist/{conn_id} | :white_check_mark: | | PUT | /mediation/{mediation_id}/default-mediator | :white_check_mark: | | | **multitenancy** | | | POST | /multitenancy/wallet | :white_check_mark: | @@ -202,6 +203,7 @@ Convenience library based on okhttp and gson to interact with [aries cloud agent | GET | /revocation/credential-record | :white_check_mark: | | POST | /revocation/publish-revocations | :white_check_mark: | | GET | /revocation/registries/created | :white_check_mark: | +| DELETE | /revocation/registry/delete-tails-file | :white_check_mark: | | GET | /revocation/registry/{rev_reg_id} | :white_check_mark: | | PATCH | /revocation/registry/{rev_reg_id} | :white_check_mark: | | POST | /revocation/registry/{rev_reg_id}/definition | :white_check_mark: | diff --git a/pom.xml b/pom.xml index 788049d8..088810ae 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ network.idu.acapy aries-client-python - 0.7.34-SNAPSHOT + 0.8.0-SNAPSHOT jar ${project.groupId}:${project.artifactId} @@ -53,19 +53,19 @@ UTF-8 empty - 4.1 - 3.0.0-M7 - 3.0.0-M9 + 4.3 + 3.0.1 + 3.1.2 - 2.14.2 - 2.14.2 - 5.9.2 - 1.8.10 - 1.18.26 + 2.15.3 + 2.15.3 + 5.10.1 + 1.9.20 + 1.18.30 1.18.20.0 - 4.10.0 - 6.54.0 - 1.17.6 + 4.12.0 + 6.55.0 + 1.19.2 @@ -93,12 +93,12 @@ io.projectreactor reactor-core - 3.5.3 + 3.5.12 org.slf4j slf4j-api - 2.0.6 + 2.0.9 com.squareup.okhttp3 @@ -113,7 +113,7 @@ org.apache.commons commons-lang3 - 3.12.0 + 3.13.0 com.google.code.gson @@ -138,7 +138,7 @@ io.swagger swagger-annotations - 1.6.9 + 1.6.12 @@ -186,7 +186,7 @@ ch.qos.logback logback-classic - 1.3.5 + 1.3.11 test @@ -201,7 +201,7 @@ true - ${project.basedir}/swagger/0_7_5.json + ${project.basedir}/swagger/0_8_0.json java ${project.basedir} false @@ -237,7 +237,7 @@ net.revelc.code.formatter formatter-maven-plugin - 2.22.0 + 2.23.0 org/hyperledger/acy_py/generated/ @@ -256,7 +256,7 @@ maven-compiler-plugin - 3.10.1 + 3.11.0 ${jdk.version} ${jdk.version} @@ -298,7 +298,7 @@ maven-javadoc-plugin - 3.5.0 + 3.6.2 *.generated ${java.home}/bin/javadoc @@ -315,7 +315,7 @@ maven-source-plugin - 3.2.1 + 3.3.0 attach-sources @@ -341,7 +341,7 @@ org.apache.maven.scm maven-scm-provider-gitexe - 1.13.0 + 2.0.1 @@ -368,7 +368,7 @@ com.github.spotbugs spotbugs-maven-plugin - 4.7.3.0 + 4.8.1.0 Max Low @@ -393,13 +393,13 @@ com.github.spotbugs spotbugs - 4.7.3 + 4.8.1 maven-pmd-plugin - 3.20.0 + 3.21.2 net.sourceforge.pmd @@ -432,7 +432,7 @@ org.owasp dependency-check-maven - 8.1.0 + 8.4.3 true true @@ -448,7 +448,7 @@ org.jacoco jacoco-maven-plugin - 0.8.8 + 0.8.11 **/generated/model/** @@ -539,11 +539,11 @@ maven-deploy-plugin - 3.1.0 + 3.1.1 maven-clean-plugin - 3.2.0 + 3.3.2 @@ -556,7 +556,7 @@ maven-gpg-plugin - 3.0.1 + 3.1.0 sign-artifacts @@ -577,7 +577,7 @@ maven-project-info-reports-plugin - 3.4.2 + 3.4.5 diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/DID.java b/src/main/java/org/hyperledger/acy_py/generated/model/DID.java index 1f86eaf9..1d1f31cb 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/DID.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/DID.java @@ -83,57 +83,9 @@ public KeyTypeEnum read(final JsonReader jsonReader) throws IOException { public static final String SERIALIZED_NAME_KEY_TYPE = "key_type"; @SerializedName(SERIALIZED_NAME_KEY_TYPE) private KeyTypeEnum keyType; - - /** - * Did method associated with the DID - */ - @JsonAdapter(MethodEnum.Adapter.class) - public enum MethodEnum { - SOV("sov"), - - KEY("key"); - - private String value; - - MethodEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - public static MethodEnum fromValue(String value) { - for (MethodEnum b : MethodEnum.values()) { - if (b.value.equals(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - - public static class Adapter extends TypeAdapter { - @Override - public void write(final JsonWriter jsonWriter, final MethodEnum enumeration) throws IOException { - jsonWriter.value(enumeration.getValue()); - } - - @Override - public MethodEnum read(final JsonReader jsonReader) throws IOException { - String value = jsonReader.nextString(); - return MethodEnum.fromValue(value); - } - } - } - public static final String SERIALIZED_NAME_METHOD = "method"; @SerializedName(SERIALIZED_NAME_METHOD) - private MethodEnum method; + private String method; /** * Whether DID is current public DID, posted to ledger but not current public DID, or local to the wallet diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/DIDCreate.java b/src/main/java/org/hyperledger/acy_py/generated/model/DIDCreate.java index 56ee1d21..26f827fa 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/DIDCreate.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/DIDCreate.java @@ -12,13 +12,7 @@ package org.hyperledger.acy_py.generated.model; -import com.google.gson.TypeAdapter; -import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; -import com.google.gson.stream.JsonReader; -import com.google.gson.stream.JsonWriter; - -import java.io.IOException; /** * DIDCreate @@ -29,57 +23,13 @@ @lombok.NoArgsConstructor @lombok.Builder public class DIDCreate { - /** - * Gets or Sets method - */ - @JsonAdapter(MethodEnum.Adapter.class) - public enum MethodEnum { - KEY("key"), - - SOV("sov"); - - private String value; - - MethodEnum(String value) { - this.value = value; - } - - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - public static MethodEnum fromValue(String value) { - for (MethodEnum b : MethodEnum.values()) { - if (b.value.equals(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - - public static class Adapter extends TypeAdapter { - @Override - public void write(final JsonWriter jsonWriter, final MethodEnum enumeration) throws IOException { - jsonWriter.value(enumeration.getValue()); - } - - @Override - public MethodEnum read(final JsonReader jsonReader) throws IOException { - String value = jsonReader.nextString(); - return MethodEnum.fromValue(value); - } - } - } - public static final String SERIALIZED_NAME_METHOD = "method"; @SerializedName(SERIALIZED_NAME_METHOD) - private MethodEnum method; + private String method; public static final String SERIALIZED_NAME_OPTIONS = "options"; @SerializedName(SERIALIZED_NAME_OPTIONS) private DIDCreateOptions options; + public static final String SERIALIZED_NAME_SEED = "seed"; + @SerializedName(SERIALIZED_NAME_SEED) + private String seed; } diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/DIDCreateOptions.java b/src/main/java/org/hyperledger/acy_py/generated/model/DIDCreateOptions.java index 1123e813..20510685 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/DIDCreateOptions.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/DIDCreateOptions.java @@ -29,8 +29,12 @@ @lombok.NoArgsConstructor @lombok.Builder public class DIDCreateOptions { + public static final String SERIALIZED_NAME_DID = "did"; + @SerializedName(SERIALIZED_NAME_DID) + private String did; + /** - * Gets or Sets keyType + * Key type to use for the DID keypair. Validated with the chosen DID method's supported key types. */ @JsonAdapter(KeyTypeEnum.Adapter.class) public enum KeyTypeEnum { diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/InvitationMessage.java b/src/main/java/org/hyperledger/acy_py/generated/model/InvitationMessage.java index f3028e7d..0ee91a5d 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/InvitationMessage.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/InvitationMessage.java @@ -37,6 +37,9 @@ public class InvitationMessage { public static final String SERIALIZED_NAME_HANDSHAKE_PROTOCOLS = "handshake_protocols"; @SerializedName(SERIALIZED_NAME_HANDSHAKE_PROTOCOLS) private List handshakeProtocols = null; + public static final String SERIALIZED_NAME_IMAGE_URL = "imageUrl"; + @SerializedName(SERIALIZED_NAME_IMAGE_URL) + private String imageUrl; public static final String SERIALIZED_NAME_LABEL = "label"; @SerializedName(SERIALIZED_NAME_LABEL) private String label; diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/IssuerCredRevRecord.java b/src/main/java/org/hyperledger/acy_py/generated/model/IssuerCredRevRecord.java index 0f29bb74..faa774fe 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/IssuerCredRevRecord.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/IssuerCredRevRecord.java @@ -32,6 +32,9 @@ public class IssuerCredRevRecord { public static final String SERIALIZED_NAME_CRED_EX_ID = "cred_ex_id"; @SerializedName(SERIALIZED_NAME_CRED_EX_ID) private String credExId; + public static final String SERIALIZED_NAME_CRED_EX_VERSION = "cred_ex_version"; + @SerializedName(SERIALIZED_NAME_CRED_EX_VERSION) + private String credExVersion; public static final String SERIALIZED_NAME_CRED_REV_ID = "cred_rev_id"; @SerializedName(SERIALIZED_NAME_CRED_REV_ID) private String credRevId; diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/MediationIdMatchInfo.java b/src/main/java/org/hyperledger/acy_py/generated/model/MediationIdMatchInfo.java new file mode 100644 index 00000000..9e43a149 --- /dev/null +++ b/src/main/java/org/hyperledger/acy_py/generated/model/MediationIdMatchInfo.java @@ -0,0 +1,31 @@ +/* + * aca-py client + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: v0.7.3 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package org.hyperledger.acy_py.generated.model; + +import com.google.gson.annotations.SerializedName; + +import java.util.UUID; + +/** + * MediationIdMatchInfo + */ + +@lombok.Data +@lombok.AllArgsConstructor +@lombok.NoArgsConstructor +@lombok.Builder +public class MediationIdMatchInfo { + public static final String SERIALIZED_NAME_MEDIATION_ID = "mediation_id"; + @SerializedName(SERIALIZED_NAME_MEDIATION_ID) + private UUID mediationId; +} diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/OobRecord.java b/src/main/java/org/hyperledger/acy_py/generated/model/OobRecord.java index b7ef9c7c..1f002274 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/OobRecord.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/OobRecord.java @@ -12,7 +12,13 @@ package org.hyperledger.acy_py.generated.model; +import com.google.gson.TypeAdapter; +import com.google.gson.annotations.JsonAdapter; import com.google.gson.annotations.SerializedName; +import com.google.gson.stream.JsonReader; +import com.google.gson.stream.JsonWriter; + +import java.io.IOException; /** * OobRecord @@ -44,12 +50,118 @@ public class OobRecord { public static final String SERIALIZED_NAME_OUR_RECIPIENT_KEY = "our_recipient_key"; @SerializedName(SERIALIZED_NAME_OUR_RECIPIENT_KEY) private String ourRecipientKey; + + /** + * OOB Role + */ + @JsonAdapter(RoleEnum.Adapter.class) + public enum RoleEnum { + SENDER("sender"), + + RECEIVER("receiver"); + + private String value; + + RoleEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static RoleEnum fromValue(String value) { + for (RoleEnum b : RoleEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final RoleEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public RoleEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return RoleEnum.fromValue(value); + } + } + } + public static final String SERIALIZED_NAME_ROLE = "role"; @SerializedName(SERIALIZED_NAME_ROLE) - private String role; + private RoleEnum role; + + /** + * Out of band message exchange state + */ + @JsonAdapter(StateEnum.Adapter.class) + public enum StateEnum { + INITIAL("initial"), + + PREPARE_RESPONSE("prepare-response"), + + AWAIT_RESPONSE("await-response"), + + REUSE_NOT_ACCEPTED("reuse-not-accepted"), + + REUSE_ACCEPTED("reuse-accepted"), + + DONE("done"), + + DELETED("deleted"); + + private String value; + + StateEnum(String value) { + this.value = value; + } + + public String getValue() { + return value; + } + + @Override + public String toString() { + return String.valueOf(value); + } + + public static StateEnum fromValue(String value) { + for (StateEnum b : StateEnum.values()) { + if (b.value.equals(value)) { + return b; + } + } + throw new IllegalArgumentException("Unexpected value '" + value + "'"); + } + + public static class Adapter extends TypeAdapter { + @Override + public void write(final JsonWriter jsonWriter, final StateEnum enumeration) throws IOException { + jsonWriter.value(enumeration.getValue()); + } + + @Override + public StateEnum read(final JsonReader jsonReader) throws IOException { + String value = jsonReader.nextString(); + return StateEnum.fromValue(value); + } + } + } + public static final String SERIALIZED_NAME_STATE = "state"; @SerializedName(SERIALIZED_NAME_STATE) - private String state; + private StateEnum state; public static final String SERIALIZED_NAME_THEIR_SERVICE = "their_service"; @SerializedName(SERIALIZED_NAME_THEIR_SERVICE) private ServiceDecorator theirService; diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/ResolutionResult.java b/src/main/java/org/hyperledger/acy_py/generated/model/ResolutionResult.java index f4d76c70..308c42a9 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/ResolutionResult.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/ResolutionResult.java @@ -23,9 +23,9 @@ @lombok.NoArgsConstructor @lombok.Builder public class ResolutionResult { - public static final String SERIALIZED_NAME_DID_DOC = "did_doc"; - @SerializedName(SERIALIZED_NAME_DID_DOC) - private Object didDoc; + public static final String SERIALIZED_NAME_DID_DOCUMENT = "did_document"; + @SerializedName(SERIALIZED_NAME_DID_DOCUMENT) + private Object didDocument; public static final String SERIALIZED_NAME_METADATA = "metadata"; @SerializedName(SERIALIZED_NAME_METADATA) private Object metadata; diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/TailsDeleteResponse.java b/src/main/java/org/hyperledger/acy_py/generated/model/TailsDeleteResponse.java new file mode 100644 index 00000000..acbfafb1 --- /dev/null +++ b/src/main/java/org/hyperledger/acy_py/generated/model/TailsDeleteResponse.java @@ -0,0 +1,29 @@ +/* + * aca-py client + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + * The version of the OpenAPI document: v0.7.3 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +package org.hyperledger.acy_py.generated.model; + +import com.google.gson.annotations.SerializedName; + +/** + * TailsDeleteResponse + */ + +@lombok.Data +@lombok.AllArgsConstructor +@lombok.NoArgsConstructor +@lombok.Builder +public class TailsDeleteResponse { + public static final String SERIALIZED_NAME_MESSAGE = "message"; + @SerializedName(SERIALIZED_NAME_MESSAGE) + private String message; +} diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/V20CredExFree.java b/src/main/java/org/hyperledger/acy_py/generated/model/V20CredExFree.java index db25c479..5d0bb17b 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/V20CredExFree.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/V20CredExFree.java @@ -43,4 +43,7 @@ public class V20CredExFree { public static final String SERIALIZED_NAME_TRACE = "trace"; @SerializedName(SERIALIZED_NAME_TRACE) private Boolean trace; + public static final String SERIALIZED_NAME_VERIFICATION_METHOD = "verification_method"; + @SerializedName(SERIALIZED_NAME_VERIFICATION_METHOD) + private String verificationMethod; } diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/V20CredExRecord.java b/src/main/java/org/hyperledger/acy_py/generated/model/V20CredExRecord.java index 528651f0..1d5291e8 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/V20CredExRecord.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/V20CredExRecord.java @@ -199,7 +199,9 @@ public enum StateEnum { CREDENTIAL_REVOKED("credential-revoked"), - ABANDONED("abandoned"); + ABANDONED("abandoned"), + + DELETED("deleted"); private String value; diff --git a/src/main/java/org/hyperledger/acy_py/generated/model/V20PresExRecord.java b/src/main/java/org/hyperledger/acy_py/generated/model/V20PresExRecord.java index ff7d161c..163b7dbc 100644 --- a/src/main/java/org/hyperledger/acy_py/generated/model/V20PresExRecord.java +++ b/src/main/java/org/hyperledger/acy_py/generated/model/V20PresExRecord.java @@ -182,7 +182,9 @@ public enum StateEnum { DONE("done"), - ABANDONED("abandoned"); + ABANDONED("abandoned"), + + DELETED("deleted"); private String value; diff --git a/src/main/java/org/hyperledger/aries/AriesClient.java b/src/main/java/org/hyperledger/aries/AriesClient.java index 7fea51bf..7eaa1426 100644 --- a/src/main/java/org/hyperledger/aries/AriesClient.java +++ b/src/main/java/org/hyperledger/aries/AriesClient.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -16,6 +16,7 @@ import okhttp3.OkHttpClient; import okhttp3.Request; import org.apache.commons.lang3.StringUtils; +import org.hyperledger.acy_py.generated.model.InvitationRecord; import org.hyperledger.acy_py.generated.model.V20CredOfferRequest; import org.hyperledger.acy_py.generated.model.*; import org.hyperledger.aries.api.action_menu.PerformRequest; @@ -62,10 +63,9 @@ import org.hyperledger.aries.api.multitenancy.RemoveWalletRequest; import org.hyperledger.aries.api.multitenancy.UpdateWalletRequest; import org.hyperledger.aries.api.multitenancy.WalletRecord; -import org.hyperledger.aries.api.out_of_band.CreateInvitationFilter; +import org.hyperledger.aries.api.out_of_band.*; import org.hyperledger.aries.api.out_of_band.InvitationCreateRequest; import org.hyperledger.aries.api.out_of_band.InvitationMessage; -import org.hyperledger.aries.api.out_of_band.ReceiveInvitationFilter; import org.hyperledger.aries.api.present_proof.SendPresentationRequest; import org.hyperledger.aries.api.present_proof.*; import org.hyperledger.aries.api.present_proof_v2.V20PresCreateRequestRequest; @@ -90,8 +90,8 @@ import org.hyperledger.aries.api.server.StatusConfig; import org.hyperledger.aries.api.trustping.PingRequest; import org.hyperledger.aries.api.trustping.PingResponse; +import org.hyperledger.aries.api.wallet.AssignPublicDidFilter; import org.hyperledger.aries.api.wallet.ListWalletDidFilter; -import org.hyperledger.aries.api.wallet.WalletDIDCreate; import org.hyperledger.aries.config.TimeUtil; import org.hyperledger.aries.config.UriUtil; @@ -1699,6 +1699,19 @@ public Optional mediationRequestsGrant(@NonNull UUID mediationId return call(req, MediationGrant.class); } + /** + * Update KeyList for a connection + * @param connectionId the connection id + * @param info {@link MediationIdMatchInfo} + * @return {@link KeylistUpdate} + * @throws IOException if the request could not be executed due to cancellation, a connectivity problem or timeout. + */ + public Optional mediationUpdateKeyList(@NonNull String connectionId, + @NonNull MediationIdMatchInfo info) throws IOException { + Request req = buildPost(url + "/mediation/update-keylist/" + connectionId, info); + return call(req, KeylistUpdate.class); + } + /** * Set default mediator * @param mediationId mediation record identifier @@ -1850,14 +1863,14 @@ public Optional outOfBandCreateInvitation( * @return {@link ConnectionRecord} * @throws IOException if the request could not be executed due to cancellation, a connectivity problem or timeout. */ - public Optional outOfBandReceiveInvitation( + public Optional outOfBandReceiveInvitation( @NonNull InvitationMessage request, ReceiveInvitationFilter filter) throws IOException { HttpUrl.Builder b = Objects.requireNonNull(HttpUrl.parse(url + "/out-of-band/receive-invitation")).newBuilder(); if (filter != null) { filter.buildParams(b); } Request req = buildPost(b.build().toString(), request); - return call(req, ConnectionRecord.class); + return call(req, OOBRecord.class); } // ---------------------------------------------------- @@ -2334,6 +2347,19 @@ public Optional revocationRegistriesCreated( return call(req, RevRegsCreated.class); } + /** + * Delete the tails file + * @param filter {@link DeleteTailsFileFilter} + * @return {@link TailsDeleteResponse} + * @throws IOException if the request could not be executed due to cancellation, a connectivity problem or timeout. + */ + public Optional revocationRegistryDeleteTailsFile(@NonNull DeleteTailsFileFilter filter) throws IOException { + HttpUrl.Builder b = Objects.requireNonNull(HttpUrl.parse(url + "/revocation/registry/delete-tails-file")).newBuilder(); + filter.buildParams(b); + Request req = buildDelete(b.toString()); + return call(req, TailsDeleteResponse.class); + } + /** * Gets revocation registry by revocation registry id * @param revRegId the revocation registry id @@ -2737,7 +2763,7 @@ public Optional> walletDid(ListWalletDidFilter filter) throws IOExcept * @return {@link DID} * @throws IOException if the request could not be executed due to cancellation, a connectivity problem or timeout. */ - public Optional walletDidCreate(@NonNull WalletDIDCreate didCreate) throws IOException { + public Optional walletDidCreate(@NonNull DIDCreate didCreate) throws IOException { Request req = buildPost(url + "/wallet/did/create", didCreate); return getWrapped(raw(req), "result", DID.class); } @@ -2777,15 +2803,15 @@ public Optional walletDidPublic(@NonNull String did) throws IOException { } /** - * Assign the current public did as an endorser + * Assign the current public did (endorsed) * @param did fully qualified did:indy - * @param endorserInfoFilter {@link EndorserInfoFilter} + * @param assignPublicDidFilter {@link AssignPublicDidFilter} * @return {@link DID} * @throws IOException if the request could not be executed due to cancellation, a connectivity problem or timeout. */ - public Optional walletDidPublic(@NonNull String did, @NonNull EndorserInfoFilter endorserInfoFilter) throws IOException { + public Optional walletDidPublic(@NonNull String did, @NonNull AssignPublicDidFilter assignPublicDidFilter) throws IOException { HttpUrl.Builder b = Objects.requireNonNull(HttpUrl.parse(url + "/wallet/did/public")).newBuilder(); - endorserInfoFilter.buildParams(b); + assignPublicDidFilter.buildParams(b); b.addQueryParameter("did", did); Request req = buildPost(b.toString(), EMPTY_JSON); return getWrapped(raw(req), "result", DID.class); @@ -2803,7 +2829,7 @@ public Optional walletGetDidEndpoint(@NonNull String did) throws IO } /** - * Update end point in wallet and, if public, on ledger + * Update endpoint in wallet and on ledger if posted to it * @param endpointRequest {@link DIDEndpointWithType} * @throws IOException if the request could not be executed due to cancellation, a connectivity problem or timeout. */ @@ -2812,6 +2838,19 @@ public void walletSetDidEndpoint(@NonNull DIDEndpointWithType endpointRequest) t call(req); } + /** + * Update endpoint in wallet and on ledger if posted to it (endorsed) + * @param endpointRequest {@link DIDEndpointWithType} + * @param endorserInfoFilter {@link EndorserInfoFilter} + * @throws IOException if the request could not be executed due to cancellation, a connectivity problem or timeout. + */ + public void walletSetDidEndpoint(@NonNull DIDEndpointWithType endpointRequest, EndorserInfoFilter endorserInfoFilter) throws IOException { + HttpUrl.Builder b = Objects.requireNonNull(HttpUrl.parse(url + "/wallet/set-did-endpoint")).newBuilder(); + endorserInfoFilter.buildParams(b); + Request req = buildPost(b.toString(), endpointRequest); + call(req); + } + // ---------------------------------------------------- // Internal // ---------------------------------------------------- diff --git a/src/main/java/org/hyperledger/aries/ClientToTenant.java b/src/main/java/org/hyperledger/aries/ClientToTenant.java index 4226b358..547a1470 100644 --- a/src/main/java/org/hyperledger/aries/ClientToTenant.java +++ b/src/main/java/org/hyperledger/aries/ClientToTenant.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -14,7 +14,7 @@ @ToString(callSuper = true) @EqualsAndHashCode(callSuper = true) -public class ClientToTenant extends WalletRecord implements AutoCloseable { +public final class ClientToTenant extends WalletRecord implements AutoCloseable { private final AriesClient restClient; private final AriesWebSocketClient webSocketClient; diff --git a/src/main/java/org/hyperledger/aries/api/AcaPyRequestFilter.java b/src/main/java/org/hyperledger/aries/api/AcaPyRequestFilter.java index 073395a2..211d0839 100644 --- a/src/main/java/org/hyperledger/aries/api/AcaPyRequestFilter.java +++ b/src/main/java/org/hyperledger/aries/api/AcaPyRequestFilter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -49,7 +49,7 @@ default HttpUrl.Builder buildParams(@NonNull HttpUrl.Builder b) { value = ((Boolean) o).toString().toLowerCase(Locale.US); } if (value != null) { - b.addQueryParameter(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES.translateName(f), value); + b.addQueryParameter(translateFieldName(f), value); } } } catch (IllegalAccessException e) { @@ -58,4 +58,12 @@ default HttpUrl.Builder buildParams(@NonNull HttpUrl.Builder b) { }); return b; } + + private static String translateFieldName(Field field) { + SerializedName sn = field.getAnnotation(SerializedName.class); + if (sn != null) { + return sn.value(); + } + return FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES.translateName(field); + } } diff --git a/src/main/java/org/hyperledger/aries/api/connection/CreateInvitationParams.java b/src/main/java/org/hyperledger/aries/api/connection/CreateInvitationParams.java index 11df625d..6d40c07b 100644 --- a/src/main/java/org/hyperledger/aries/api/connection/CreateInvitationParams.java +++ b/src/main/java/org/hyperledger/aries/api/connection/CreateInvitationParams.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -7,6 +7,7 @@ */ package org.hyperledger.aries.api.connection; +import com.google.gson.annotations.SerializedName; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -18,5 +19,6 @@ public class CreateInvitationParams implements AcaPyRequestFilter { private String alias; private Boolean autoAccept; private Boolean multiUse; + @SerializedName("public") private Boolean isPublic; } diff --git a/src/main/java/org/hyperledger/aries/api/did_exchange/DidExchangeCreateRequestFilter.java b/src/main/java/org/hyperledger/aries/api/did_exchange/DidExchangeCreateRequestFilter.java index 47b4a13a..286931e4 100644 --- a/src/main/java/org/hyperledger/aries/api/did_exchange/DidExchangeCreateRequestFilter.java +++ b/src/main/java/org/hyperledger/aries/api/did_exchange/DidExchangeCreateRequestFilter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -13,7 +13,7 @@ import org.hyperledger.aries.api.AcaPyRequestFilter; @Data -public class DidExchangeCreateRequestFilter implements AcaPyRequestFilter { +public final class DidExchangeCreateRequestFilter implements AcaPyRequestFilter { /** Public DID to which to request connection */ private String theirPublicDid; diff --git a/src/main/java/org/hyperledger/aries/api/endorser/EndorserInfoFilter.java b/src/main/java/org/hyperledger/aries/api/endorser/EndorserInfoFilter.java index 4f6f6cca..76aa1042 100644 --- a/src/main/java/org/hyperledger/aries/api/endorser/EndorserInfoFilter.java +++ b/src/main/java/org/hyperledger/aries/api/endorser/EndorserInfoFilter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -7,11 +7,11 @@ */ package org.hyperledger.aries.api.endorser; -import lombok.Builder; import lombok.Data; +import lombok.experimental.SuperBuilder; import org.hyperledger.aries.api.AcaPyRequestFilter; -@Data @Builder +@Data @SuperBuilder public class EndorserInfoFilter implements AcaPyRequestFilter { private String connId; private Boolean createTransactionForEndorser; diff --git a/src/main/java/org/hyperledger/aries/api/introduction/ConnectionStartIntroductionFilter.java b/src/main/java/org/hyperledger/aries/api/introduction/ConnectionStartIntroductionFilter.java index 0b015f90..f8d47f21 100644 --- a/src/main/java/org/hyperledger/aries/api/introduction/ConnectionStartIntroductionFilter.java +++ b/src/main/java/org/hyperledger/aries/api/introduction/ConnectionStartIntroductionFilter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -13,7 +13,7 @@ import org.hyperledger.aries.api.AcaPyRequestFilter; @Data @Builder -public class ConnectionStartIntroductionFilter implements AcaPyRequestFilter { +public final class ConnectionStartIntroductionFilter implements AcaPyRequestFilter { @NonNull private String targetConnectionId; private String message; } diff --git a/src/main/java/org/hyperledger/aries/api/issue_credential_v1/CredentialExchangeState.java b/src/main/java/org/hyperledger/aries/api/issue_credential_v1/CredentialExchangeState.java index 78878a57..ee488432 100644 --- a/src/main/java/org/hyperledger/aries/api/issue_credential_v1/CredentialExchangeState.java +++ b/src/main/java/org/hyperledger/aries/api/issue_credential_v1/CredentialExchangeState.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -111,6 +111,14 @@ public enum CredentialExchangeState { @SerializedName(value = "abandoned") ABANDONED, + /** + * V2 state only + * Credential exchange deleted + */ + @JsonProperty("deleted") + @SerializedName(value = "deleted") + DELETED, + /** * Not an aries state, but useful in business logic reacting on these states */ diff --git a/src/main/java/org/hyperledger/aries/api/issue_credential_v1/V1CredentialOfferRequest.java b/src/main/java/org/hyperledger/aries/api/issue_credential_v1/V1CredentialOfferRequest.java index 2f3cc068..909071c3 100644 --- a/src/main/java/org/hyperledger/aries/api/issue_credential_v1/V1CredentialOfferRequest.java +++ b/src/main/java/org/hyperledger/aries/api/issue_credential_v1/V1CredentialOfferRequest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -15,7 +15,7 @@ import javax.annotation.Nullable; @Data @Builder @NoArgsConstructor @AllArgsConstructor -public class V1CredentialOfferRequest { +public final class V1CredentialOfferRequest { private Boolean autoIssue; diff --git a/src/main/java/org/hyperledger/aries/api/issue_credential_v1/V1CredentialProposalRequest.java b/src/main/java/org/hyperledger/aries/api/issue_credential_v1/V1CredentialProposalRequest.java index 77dee8b3..25d79ee5 100644 --- a/src/main/java/org/hyperledger/aries/api/issue_credential_v1/V1CredentialProposalRequest.java +++ b/src/main/java/org/hyperledger/aries/api/issue_credential_v1/V1CredentialProposalRequest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -20,7 +20,7 @@ * or issued to a connection (issuer to holder) */ @Data @Builder @NoArgsConstructor @AllArgsConstructor -public class V1CredentialProposalRequest { +public final class V1CredentialProposalRequest { /** * Holder choice to auto accept offer in this credential exchange diff --git a/src/main/java/org/hyperledger/aries/api/issue_credential_v2/V2CredentialExchangeFree.java b/src/main/java/org/hyperledger/aries/api/issue_credential_v2/V2CredentialExchangeFree.java index 208cd7fb..e645769c 100644 --- a/src/main/java/org/hyperledger/aries/api/issue_credential_v2/V2CredentialExchangeFree.java +++ b/src/main/java/org/hyperledger/aries/api/issue_credential_v2/V2CredentialExchangeFree.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -28,6 +28,7 @@ public class V2CredentialExchangeFree { private V2CredentialPreview credentialPreview; private V20CredFilter filter; private Boolean trace; + private String verificationMethod; @Data @AllArgsConstructor @NoArgsConstructor @Builder public static class V2CredentialPreview { diff --git a/src/main/java/org/hyperledger/aries/api/jsonld/VerifiableCredential.java b/src/main/java/org/hyperledger/aries/api/jsonld/VerifiableCredential.java index 914e2236..daa44b4c 100644 --- a/src/main/java/org/hyperledger/aries/api/jsonld/VerifiableCredential.java +++ b/src/main/java/org/hyperledger/aries/api/jsonld/VerifiableCredential.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -86,7 +86,7 @@ public static class LabeledVerifiableCredential extends VerifiableCredential { @SuperBuilder @NoArgsConstructor @AllArgsConstructor @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @JsonInclude(Include.NON_NULL) - public static class VerifiableIndyCredential extends LabeledVerifiableCredential { + public static final class VerifiableIndyCredential extends LabeledVerifiableCredential { @Nullable @SerializedName("indyIssuer") private String indyIssuer; @@ -103,7 +103,7 @@ public static class VerifiableIndyCredential extends LabeledVerifiableCredential @SuperBuilder @NoArgsConstructor @AllArgsConstructor @Data @EqualsAndHashCode(callSuper = true) @ToString(callSuper = true) @JsonInclude(Include.NON_NULL) - public static class VerifiableCredentialMatch extends VerifiableCredential { + public static final class VerifiableCredentialMatch extends VerifiableCredential { private String recordId; } } diff --git a/src/main/java/org/hyperledger/aries/api/jsonld/VerifiablePresentation.java b/src/main/java/org/hyperledger/aries/api/jsonld/VerifiablePresentation.java index ec4651a1..86e5cd29 100644 --- a/src/main/java/org/hyperledger/aries/api/jsonld/VerifiablePresentation.java +++ b/src/main/java/org/hyperledger/aries/api/jsonld/VerifiablePresentation.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -29,7 +29,7 @@ */ @Data @Builder @NoArgsConstructor @AllArgsConstructor @JsonPropertyOrder({ "@context", "type" }) -public class VerifiablePresentation { +public final class VerifiablePresentation { public static final Type VERIFIABLE_CREDENTIAL_TYPE = new TypeToken>(){}.getType(); diff --git a/src/main/java/org/hyperledger/aries/api/ledger/EndpointResponse.java b/src/main/java/org/hyperledger/aries/api/ledger/EndpointResponse.java index ec6496a2..b4eb9878 100644 --- a/src/main/java/org/hyperledger/aries/api/ledger/EndpointResponse.java +++ b/src/main/java/org/hyperledger/aries/api/ledger/EndpointResponse.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -12,5 +12,5 @@ @Data @NoArgsConstructor public class EndpointResponse { - public String endpoint; + private String endpoint; } diff --git a/src/main/java/org/hyperledger/aries/api/ledger/RegisterNymFilter.java b/src/main/java/org/hyperledger/aries/api/ledger/RegisterNymFilter.java index 56349897..aef05fcb 100644 --- a/src/main/java/org/hyperledger/aries/api/ledger/RegisterNymFilter.java +++ b/src/main/java/org/hyperledger/aries/api/ledger/RegisterNymFilter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -13,7 +13,7 @@ import org.hyperledger.aries.api.AcaPyRequestFilter; @Data @Builder -public class RegisterNymFilter implements AcaPyRequestFilter { +public final class RegisterNymFilter implements AcaPyRequestFilter { @NonNull private String did; @NonNull diff --git a/src/main/java/org/hyperledger/aries/api/out_of_band/InvitationMessage.java b/src/main/java/org/hyperledger/aries/api/out_of_band/InvitationMessage.java index 6d50ce03..5154dd7a 100644 --- a/src/main/java/org/hyperledger/aries/api/out_of_band/InvitationMessage.java +++ b/src/main/java/org/hyperledger/aries/api/out_of_band/InvitationMessage.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -43,6 +43,8 @@ public class InvitationMessage { private String label; + private String imageUrl; + @SerializedName("goal_code") private String goalCode; diff --git a/src/main/java/org/hyperledger/aries/api/out_of_band/OOBRecord.java b/src/main/java/org/hyperledger/aries/api/out_of_band/OOBRecord.java index efd6f71c..a5d97d06 100644 --- a/src/main/java/org/hyperledger/aries/api/out_of_band/OOBRecord.java +++ b/src/main/java/org/hyperledger/aries/api/out_of_band/OOBRecord.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -56,11 +56,13 @@ public enum OOBState { @SerializedName(value = "await-response", alternate = "await_response") AWAIT_RESPONSE, @SerializedName(value = "reuse-not-accepted", alternate = "reuse_not_accepted") - NOT_ACCEPTED, + REUSE_NOT_ACCEPTED, @SerializedName(value = "reuse-accepted", alternate = "reuse_accepted") - ACCEPTED, + REUSE_ACCEPTED, @SerializedName("done") - DONE + DONE, + @SerializedName("deleted") + DELETED } public enum OOBRole { diff --git a/src/main/java/org/hyperledger/aries/api/present_proof/PresentProofRequest.java b/src/main/java/org/hyperledger/aries/api/present_proof/PresentProofRequest.java index e566b517..4ab9c66d 100644 --- a/src/main/java/org/hyperledger/aries/api/present_proof/PresentProofRequest.java +++ b/src/main/java/org/hyperledger/aries/api/present_proof/PresentProofRequest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -30,7 +30,7 @@ @NoArgsConstructor @AllArgsConstructor @Builder -public class PresentProofRequest { +public final class PresentProofRequest { private Boolean autoVerify; diff --git a/src/main/java/org/hyperledger/aries/api/present_proof/PresentationExchangeState.java b/src/main/java/org/hyperledger/aries/api/present_proof/PresentationExchangeState.java index 78d4c01c..89eaa20f 100644 --- a/src/main/java/org/hyperledger/aries/api/present_proof/PresentationExchangeState.java +++ b/src/main/java/org/hyperledger/aries/api/present_proof/PresentationExchangeState.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -58,6 +58,11 @@ public enum PresentationExchangeState { @SerializedName("abandoned") ABANDONED, + /** V2 state only */ + @JsonProperty("deleted") + @SerializedName("deleted") + DELETED, + /** Not an aries state, can be used in a manual proof exchange to mark the state * as declined if the request was not accepted */ @JsonProperty("declined") diff --git a/src/main/java/org/hyperledger/aries/api/present_proof/PresentationRequestCredentialsFilter.java b/src/main/java/org/hyperledger/aries/api/present_proof/PresentationRequestCredentialsFilter.java index 35218c0f..aecd973a 100644 --- a/src/main/java/org/hyperledger/aries/api/present_proof/PresentationRequestCredentialsFilter.java +++ b/src/main/java/org/hyperledger/aries/api/present_proof/PresentationRequestCredentialsFilter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -40,7 +40,7 @@ public HttpUrl.Builder buildParams(@NonNull HttpUrl.Builder b) { if (StringUtils.isNotEmpty(extraQuery)) { b.addQueryParameter("extra_query", extraQuery); } - if (referent != null && referent.size() > 0) { + if (referent != null && !referent.isEmpty()) { StringBuilder sb = new StringBuilder(); Iterator it = referent.stream().iterator(); while (it.hasNext()) { diff --git a/src/main/java/org/hyperledger/aries/api/revocation/DeleteTailsFileFilter.java b/src/main/java/org/hyperledger/aries/api/revocation/DeleteTailsFileFilter.java new file mode 100644 index 00000000..baffd743 --- /dev/null +++ b/src/main/java/org/hyperledger/aries/api/revocation/DeleteTailsFileFilter.java @@ -0,0 +1,18 @@ +/* + * Copyright (c) 2020-2023 - for information on the respective copyright owner + * see the NOTICE file and/or the repository at + * https://github.com/hyperledger-labs/acapy-java-client + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.aries.api.revocation; + +import lombok.Builder; +import lombok.Data; +import org.hyperledger.aries.api.AcaPyRequestFilter; + +@Data @Builder +public class DeleteTailsFileFilter implements AcaPyRequestFilter { + private String credDefId; + private String refRegId; +} diff --git a/src/main/java/org/hyperledger/aries/api/revocation/RevRegCreateRequest.java b/src/main/java/org/hyperledger/aries/api/revocation/RevRegCreateRequest.java index a6a945bc..6b6c99e9 100644 --- a/src/main/java/org/hyperledger/aries/api/revocation/RevRegCreateRequest.java +++ b/src/main/java/org/hyperledger/aries/api/revocation/RevRegCreateRequest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -12,7 +12,7 @@ import javax.annotation.Nullable; @Data @NoArgsConstructor @AllArgsConstructor @Builder -public class RevRegCreateRequest { +public final class RevRegCreateRequest { @NonNull private String credentialDefinitionId; /** Maximum credentials, minimum 4, maximum 32768 */ @Nullable private Integer maxCredNum; diff --git a/src/main/java/org/hyperledger/aries/api/revocation/RevRegUpdateTailsFileUri.java b/src/main/java/org/hyperledger/aries/api/revocation/RevRegUpdateTailsFileUri.java index b37b8499..79db2503 100644 --- a/src/main/java/org/hyperledger/aries/api/revocation/RevRegUpdateTailsFileUri.java +++ b/src/main/java/org/hyperledger/aries/api/revocation/RevRegUpdateTailsFileUri.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -14,6 +14,6 @@ import lombok.NonNull; @Data @NoArgsConstructor @AllArgsConstructor @Builder -public class RevRegUpdateTailsFileUri { +public final class RevRegUpdateTailsFileUri { @NonNull private String tailsPublicUri; } diff --git a/src/main/java/org/hyperledger/aries/api/schema/SchemaSendRequest.java b/src/main/java/org/hyperledger/aries/api/schema/SchemaSendRequest.java index dc869932..37a620f2 100644 --- a/src/main/java/org/hyperledger/aries/api/schema/SchemaSendRequest.java +++ b/src/main/java/org/hyperledger/aries/api/schema/SchemaSendRequest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -14,7 +14,7 @@ import java.util.List; @Data @Builder -public class SchemaSendRequest { +public final class SchemaSendRequest { @Nonnull private List attributes; @Nonnull diff --git a/src/main/java/org/hyperledger/aries/api/server/StatusConfig.java b/src/main/java/org/hyperledger/aries/api/server/StatusConfig.java index 06a40b86..ebe20651 100644 --- a/src/main/java/org/hyperledger/aries/api/server/StatusConfig.java +++ b/src/main/java/org/hyperledger/aries/api/server/StatusConfig.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -48,7 +48,7 @@ public class StatusConfig { @SerializedName("debug.auto_respond_messages") private Boolean autoRespondMessages; @SerializedName("debug.auto_respond_credential_proposal") - public Boolean autoRespondCredentialProposal; + private Boolean autoRespondCredentialProposal; @SerializedName("debug.auto_respond_credential_offer") private Boolean autoRespondCredentialOffer; @SerializedName("debug.auto_respond_credential_request") diff --git a/src/main/java/org/hyperledger/aries/api/wallet/AssignPublicDidFilter.java b/src/main/java/org/hyperledger/aries/api/wallet/AssignPublicDidFilter.java new file mode 100644 index 00000000..5419adb7 --- /dev/null +++ b/src/main/java/org/hyperledger/aries/api/wallet/AssignPublicDidFilter.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2020-2023 - for information on the respective copyright owner + * see the NOTICE file and/or the repository at + * https://github.com/hyperledger-labs/acapy-java-client + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.aries.api.wallet; + +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.NonNull; +import lombok.experimental.SuperBuilder; +import okhttp3.HttpUrl; +import org.apache.commons.lang3.StringUtils; +import org.hyperledger.aries.api.endorser.EndorserInfoFilter; + +@Data +@SuperBuilder +@EqualsAndHashCode(callSuper = true) +public class AssignPublicDidFilter extends EndorserInfoFilter { + private String mediationId; + + @Override + public HttpUrl.Builder buildParams(@NonNull HttpUrl.Builder b) { + if (Boolean.TRUE.equals(getCreateTransactionForEndorser())) { + b.addQueryParameter("create_transaction_for_endorser", getCreateTransactionForEndorser().toString()); + } + if (StringUtils.isNotEmpty(getConnId())) { + b.addQueryParameter("conn_id", getConnId()); + } + if (StringUtils.isNotEmpty(mediationId)) { + b.addQueryParameter("mediation_id", mediationId); + } + return b; + } +} diff --git a/src/main/java/org/hyperledger/aries/api/wallet/DefaultDidMethod.java b/src/main/java/org/hyperledger/aries/api/wallet/DefaultDidMethod.java new file mode 100644 index 00000000..d97912de --- /dev/null +++ b/src/main/java/org/hyperledger/aries/api/wallet/DefaultDidMethod.java @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2020-2023 - for information on the respective copyright owner + * see the NOTICE file and/or the repository at + * https://github.com/hyperledger-labs/acapy-java-client + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.aries.api.wallet; + + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor @Getter +public enum DefaultDidMethod { + KEY("key"), + SOV("sov"); + + private String method; +} diff --git a/src/main/java/org/hyperledger/aries/api/wallet/ListWalletDidFilter.java b/src/main/java/org/hyperledger/aries/api/wallet/ListWalletDidFilter.java index 548abf70..d709157b 100644 --- a/src/main/java/org/hyperledger/aries/api/wallet/ListWalletDidFilter.java +++ b/src/main/java/org/hyperledger/aries/api/wallet/ListWalletDidFilter.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2021 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -22,7 +22,7 @@ public class ListWalletDidFilter implements AcaPyRequestFilter { private DID.KeyTypeEnum keyType; /** did method to query for */ - private DID.MethodEnum method; + private String method; /** Whether did is current public, or wallet only */ private DID.PostureEnum posture; diff --git a/src/main/java/org/hyperledger/aries/api/wallet/WalletDIDCreate.java b/src/main/java/org/hyperledger/aries/api/wallet/WalletDIDCreate.java deleted file mode 100644 index 68fc3c78..00000000 --- a/src/main/java/org/hyperledger/aries/api/wallet/WalletDIDCreate.java +++ /dev/null @@ -1,31 +0,0 @@ -/* - * Copyright (c) 2020-2022 - for information on the respective copyright owner - * see the NOTICE file and/or the repository at - * https://github.com/hyperledger-labs/acapy-java-client - * - * SPDX-License-Identifier: Apache-2.0 - */ -package org.hyperledger.aries.api.wallet; - -import lombok.AllArgsConstructor; -import lombok.Builder; -import lombok.Data; -import lombok.NoArgsConstructor; -import org.hyperledger.acy_py.generated.model.DIDCreate; -import org.hyperledger.acy_py.generated.model.DIDCreateOptions; - -/** - * DIDCreate - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -@Builder -public class WalletDIDCreate { - private DIDCreate.MethodEnum method; - private DIDCreateOptions options; - /** If this parameter is set, - * allows to use a custom seed to create a local DID. - * needs --wallet-allow-insecure-seed to be set */ - private String seed; -} diff --git a/src/main/java/org/hyperledger/aries/webhook/AriesWebSocketListener.java b/src/main/java/org/hyperledger/aries/webhook/AriesWebSocketListener.java index 4437bac3..b179b9fd 100644 --- a/src/main/java/org/hyperledger/aries/webhook/AriesWebSocketListener.java +++ b/src/main/java/org/hyperledger/aries/webhook/AriesWebSocketListener.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -25,7 +25,7 @@ import java.util.List; @Slf4j -public class AriesWebSocketListener extends okhttp3.WebSocketListener { +public final class AriesWebSocketListener extends okhttp3.WebSocketListener { private final Gson gson = GsonConfig.defaultConfig(); diff --git a/src/test/java/org/hyperledger/aries/IntegrationTestBase.java b/src/test/java/org/hyperledger/aries/IntegrationTestBase.java index 03a3b4ae..a985494a 100644 --- a/src/test/java/org/hyperledger/aries/IntegrationTestBase.java +++ b/src/test/java/org/hyperledger/aries/IntegrationTestBase.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -21,7 +21,7 @@ public abstract class IntegrationTestBase { private final Logger log = LoggerFactory.getLogger(IntegrationTestBase.class); - public static final String ARIES_VERSION = "bcgovimages/aries-cloudagent:py36-1.16-1_0.7.5"; + public static final String ARIES_VERSION = "ghcr.io/hyperledger/aries-cloudagent-python:py3.9-0.8.0"; public static final Integer ARIES_INBOUND_PORT = 8030; public static final Integer ARIES_ADMIN_PORT = 8031; diff --git a/src/test/java/org/hyperledger/aries/api/AcaPyRequestFilterTest.java b/src/test/java/org/hyperledger/aries/api/AcaPyRequestFilterTest.java index 137036fa..0172d341 100644 --- a/src/test/java/org/hyperledger/aries/api/AcaPyRequestFilterTest.java +++ b/src/test/java/org/hyperledger/aries/api/AcaPyRequestFilterTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -55,6 +55,13 @@ void testListWalletDid() { Assertions.assertEquals(url + "?key_type=bls12381g2", f.buildParams(b).toString()); } + @Test + void testAnnotatedBoolean() { + HttpUrl.Builder b = Objects.requireNonNull(base).newBuilder(); + AnnotatedBoolean ab = AnnotatedBoolean.builder().isPublic(Boolean.TRUE).build(); + Assertions.assertEquals(url + "?public=true", ab.buildParams(b).toString()); + } + @Test void testEmptyString() { HttpUrl.Builder b = Objects.requireNonNull(base).newBuilder(); @@ -79,4 +86,10 @@ private enum AnnotatedDummyEnum { @SerializedName("value_2") VALUE2 } + + @Builder + private static final class AnnotatedBoolean implements AcaPyRequestFilter { + @SerializedName("public") + private Boolean isPublic; + } } diff --git a/src/test/java/org/hyperledger/aries/api/jsonld/JsonldTest.java b/src/test/java/org/hyperledger/aries/api/jsonld/JsonldTest.java index 814dbd1e..c3f97974 100644 --- a/src/test/java/org/hyperledger/aries/api/jsonld/JsonldTest.java +++ b/src/test/java/org/hyperledger/aries/api/jsonld/JsonldTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -14,7 +14,7 @@ import org.hyperledger.aries.IntegrationTestBase; import org.hyperledger.aries.api.jsonld.SignRequest.SignDocument.Options; import org.hyperledger.aries.api.jsonld.VerifiableCredential.VerifiableIndyCredential; -import org.hyperledger.aries.api.wallet.WalletDIDCreate; +import org.hyperledger.aries.api.wallet.DefaultDidMethod; import org.hyperledger.aries.config.GsonConfig; import org.hyperledger.aries.util.FileLoader; import org.junit.jupiter.api.Assertions; @@ -104,9 +104,9 @@ void testVerifyWrongCredentialType() { } private DID createLocalDid() throws Exception { - final Optional localDid = ac.walletDidCreate(WalletDIDCreate + final Optional localDid = ac.walletDidCreate(DIDCreate .builder() - .method(DIDCreate.MethodEnum.SOV) + .method(DefaultDidMethod.SOV.getMethod()) .build()); Assertions.assertTrue(localDid.isPresent()); log.debug("localDid: {}", localDid.get()); diff --git a/src/test/java/org/hyperledger/aries/api/multitenant/MultiTenantTest.java b/src/test/java/org/hyperledger/aries/api/multitenant/MultiTenantTest.java index 15734255..15384e87 100644 --- a/src/test/java/org/hyperledger/aries/api/multitenant/MultiTenantTest.java +++ b/src/test/java/org/hyperledger/aries/api/multitenant/MultiTenantTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -9,13 +9,13 @@ import org.hyperledger.acy_py.generated.model.ConnectionInvitation; import org.hyperledger.acy_py.generated.model.DID; +import org.hyperledger.acy_py.generated.model.DIDCreate; import org.hyperledger.acy_py.generated.model.DIDEndpointWithType; import org.hyperledger.aries.AriesClient; import org.hyperledger.aries.ClientToTenant; import org.hyperledger.aries.IntegrationTestBase; import org.hyperledger.aries.api.connection.*; import org.hyperledger.aries.api.multitenancy.*; -import org.hyperledger.aries.api.wallet.WalletDIDCreate; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; import org.slf4j.Logger; @@ -159,7 +159,7 @@ void testConnectSubWallets() throws Exception { // prepare the wallets - DID did1 = wallet1.send().walletDidCreate(WalletDIDCreate.builder().build()).orElseThrow(); + DID did1 = wallet1.send().walletDidCreate(DIDCreate.builder().build()).orElseThrow(); // If running against a public ledger // sub1.walletDidPublic(did1.getDid()); @@ -170,7 +170,7 @@ void testConnectSubWallets() throws Exception { .endpointType(DIDEndpointWithType.EndpointTypeEnum.ENDPOINT) .build()); - DID did2 = wallet2.send().walletDidCreate(WalletDIDCreate.builder().build()).orElseThrow(); + DID did2 = wallet2.send().walletDidCreate(DIDCreate.builder().build()).orElseThrow(); // If running against a public ledger // sub2.walletDidPublic(did2.getDid()); diff --git a/src/test/java/org/hyperledger/aries/api/wallet/WalletFilterTest.java b/src/test/java/org/hyperledger/aries/api/wallet/WalletFilterTest.java new file mode 100644 index 00000000..334fa747 --- /dev/null +++ b/src/test/java/org/hyperledger/aries/api/wallet/WalletFilterTest.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2020-2023 - for information on the respective copyright owner + * see the NOTICE file and/or the repository at + * https://github.com/hyperledger-labs/acapy-java-client + * + * SPDX-License-Identifier: Apache-2.0 + */ +package org.hyperledger.aries.api.wallet; + +import okhttp3.HttpUrl; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +import java.util.Objects; + +public class WalletFilterTest { + + @Test + void testWalletCreateFilter() { + AssignPublicDidFilter f = AssignPublicDidFilter.builder() + .mediationId("1") + .connId("2") + .createTransactionForEndorser(Boolean.TRUE) + .build(); + HttpUrl.Builder b = Objects.requireNonNull(HttpUrl.parse( "https://localhost/wallet/did/public")).newBuilder(); + f.buildParams(b); + Assertions.assertEquals("https://localhost/wallet/did/public?create_transaction_for_endorser=true&conn_id=2&mediation_id=1", + b.toString()); + } +} diff --git a/src/test/java/org/hyperledger/aries/api/wallet/WalletTest.java b/src/test/java/org/hyperledger/aries/api/wallet/WalletTest.java index dc25f1b1..eac69a53 100644 --- a/src/test/java/org/hyperledger/aries/api/wallet/WalletTest.java +++ b/src/test/java/org/hyperledger/aries/api/wallet/WalletTest.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020-2022 - for information on the respective copyright owner + * Copyright (c) 2020-2023 - for information on the respective copyright owner * see the NOTICE file and/or the repository at * https://github.com/hyperledger-labs/acapy-java-client * @@ -9,6 +9,7 @@ import lombok.extern.slf4j.Slf4j; import org.hyperledger.acy_py.generated.model.DID; +import org.hyperledger.acy_py.generated.model.DIDCreate; import org.hyperledger.acy_py.generated.model.DIDEndpoint; import org.hyperledger.acy_py.generated.model.DIDEndpointWithType; import org.hyperledger.aries.IntegrationTestBase; @@ -26,7 +27,7 @@ public class WalletTest extends IntegrationTestBase { void testCreateAndListWalletDids() throws Exception { // as the wallet is empty by default create local did first - DID localDid = ac.walletDidCreate(WalletDIDCreate + DID localDid = ac.walletDidCreate(DIDCreate .builder() .build()) .orElseThrow(); @@ -47,7 +48,7 @@ void testGetPublicDid() throws Exception { @Test void testSetGetDidEndpoint() throws Exception { - DID localDid = ac.walletDidCreate(WalletDIDCreate.builder().build()).orElseThrow(); + DID localDid = ac.walletDidCreate(DIDCreate.builder().build()).orElseThrow(); final String url = "http://localhost:8031"; DIDEndpointWithType req = DIDEndpointWithType @@ -63,7 +64,7 @@ void testSetGetDidEndpoint() throws Exception { @Test void TestRotateKeypair() throws Exception{ - DID localDid = ac.walletDidCreate(WalletDIDCreate + DID localDid = ac.walletDidCreate(DIDCreate .builder() .build()).orElseThrow(); Assertions.assertNotNull(localDid.getVerkey()); diff --git a/src/test/resources/spotbugs-exclude.xml b/src/test/resources/spotbugs-exclude.xml index 9c8ec3eb..678e7fc8 100644 --- a/src/test/resources/spotbugs-exclude.xml +++ b/src/test/resources/spotbugs-exclude.xml @@ -40,6 +40,21 @@ + + + + + + + + + + + + + + + diff --git a/swagger/0_8_0.json b/swagger/0_8_0.json new file mode 100644 index 00000000..59f229c3 --- /dev/null +++ b/swagger/0_8_0.json @@ -0,0 +1 @@ +{"paths": {"/action-menu/{conn_id}/close": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ActionMenuModulesResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["action-menu"], "summary": "Close the active menu associated with a connection", "produces": ["application/json"]}}, "/action-menu/{conn_id}/fetch": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ActionMenuFetchResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["action-menu"], "summary": "Fetch the active menu", "produces": ["application/json"]}}, "/action-menu/{conn_id}/perform": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ActionMenuModulesResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/PerformRequest"}}, {"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["action-menu"], "summary": "Perform an action associated with the active menu", "produces": ["application/json"]}}, "/action-menu/{conn_id}/request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ActionMenuModulesResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["action-menu"], "summary": "Request the active menu", "produces": ["application/json"]}}, "/action-menu/{conn_id}/send-menu": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ActionMenuModulesResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/SendMenu"}}, {"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["action-menu"], "summary": "Send an action menu to a connection", "produces": ["application/json"]}}, "/connections": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnectionList"}, "description": ""}}, "parameters": [{"in": "query", "name": "alias", "required": false, "type": "string", "description": "Alias", "example": "Barry"}, {"in": "query", "name": "connection_protocol", "required": false, "type": "string", "enum": ["connections/1.0", "didexchange/1.0"], "description": "Connection protocol used", "example": "connections/1.0"}, {"in": "query", "name": "invitation_key", "required": false, "type": "string", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "description": "invitation key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"}, {"in": "query", "name": "invitation_msg_id", "required": false, "type": "string", "format": "uuid", "description": "Identifier of the associated Invitation Mesage", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "my_did", "required": false, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "My DID", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "state", "required": false, "type": "string", "enum": ["active", "request", "start", "invitation", "abandoned", "error", "completed", "init", "response"], "description": "Connection state"}, {"in": "query", "name": "their_did", "required": false, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "Their DID", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "their_public_did", "required": false, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "Their Public DID", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "their_role", "required": false, "type": "string", "enum": ["invitee", "requester", "inviter", "responder"], "description": "Their role in the connection protocol", "example": "invitee"}], "tags": ["connection"], "summary": "Query agent-to-agent connections", "produces": ["application/json"]}}, "/connections/create-invitation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/InvitationResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/CreateInvitationRequest"}}, {"in": "query", "name": "alias", "required": false, "type": "string", "description": "Alias", "example": "Barry"}, {"in": "query", "name": "auto_accept", "required": false, "type": "boolean", "description": "Auto-accept connection (defaults to configuration)"}, {"in": "query", "name": "multi_use", "required": false, "type": "boolean", "description": "Create invitation for multiple use (default false)"}, {"in": "query", "name": "public", "required": false, "type": "boolean", "description": "Create invitation from public DID (default false)"}], "tags": ["connection"], "summary": "Create a new connection invitation", "produces": ["application/json"]}}, "/connections/create-static": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnectionStaticResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/ConnectionStaticRequest"}}], "tags": ["connection"], "summary": "Create a new static connection", "produces": ["application/json"]}}, "/connections/receive-invitation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/ReceiveInvitationRequest"}}, {"in": "query", "name": "alias", "required": false, "type": "string", "description": "Alias", "example": "Barry"}, {"in": "query", "name": "auto_accept", "required": false, "type": "boolean", "description": "Auto-accept connection (defaults to configuration)"}, {"in": "query", "name": "mediation_id", "required": false, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Identifier for active mediation record to be used", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["connection"], "summary": "Receive a new connection invitation", "produces": ["application/json"]}}, "/connections/{conn_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["connection"], "summary": "Fetch a single connection record", "produces": ["application/json"]}, "delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnectionModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["connection"], "summary": "Remove an existing connection record", "produces": ["application/json"]}}, "/connections/{conn_id}/accept-invitation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "mediation_id", "required": false, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Identifier for active mediation record to be used", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "my_endpoint", "required": false, "type": "string", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "description": "My URL endpoint", "example": "https://myhost:8021"}, {"in": "query", "name": "my_label", "required": false, "type": "string", "description": "Label for connection", "example": "Broker"}], "tags": ["connection"], "summary": "Accept a stored connection invitation", "produces": ["application/json"]}}, "/connections/{conn_id}/accept-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "my_endpoint", "required": false, "type": "string", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "description": "My URL endpoint", "example": "https://myhost:8021"}], "tags": ["connection"], "summary": "Accept a stored connection request", "produces": ["application/json"]}}, "/connections/{conn_id}/endpoints": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/EndpointsResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["connection"], "summary": "Fetch connection remote endpoint", "produces": ["application/json"]}}, "/connections/{conn_id}/establish-inbound/{ref_id}": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnectionModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "path", "name": "ref_id", "required": true, "type": "string", "description": "Inbound connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["connection"], "summary": "Assign another connection as the inbound connection", "produces": ["application/json"]}}, "/connections/{conn_id}/metadata": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnectionMetadata"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "key", "required": false, "type": "string", "description": "Key to retrieve."}], "tags": ["connection"], "summary": "Fetch connection metadata", "produces": ["application/json"]}, "post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnectionMetadata"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/ConnectionMetadataSetRequest"}}, {"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["connection"], "summary": "Set connection metadata", "produces": ["application/json"]}}, "/connections/{conn_id}/send-message": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/BasicMessageModuleResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/SendMessage"}}, {"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["basicmessage"], "summary": "Send a basic message to a connection", "produces": ["application/json"]}}, "/connections/{conn_id}/send-ping": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/PingRequestResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/PingRequest"}}, {"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["trustping"], "summary": "Send a trust ping to a connection", "produces": ["application/json"]}}, "/connections/{conn_id}/start-introduction": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/IntroModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "target_connection_id", "required": true, "type": "string", "description": "Target connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "message", "required": false, "type": "string", "description": "Message", "example": "Allow me to introduce ..."}], "tags": ["introduction"], "summary": "Start an introduction between two connections", "produces": ["application/json"]}}, "/credential-definitions": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TxnOrCredentialDefinitionSendResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/CredentialDefinitionSendRequest"}}, {"in": "query", "name": "conn_id", "required": false, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "create_transaction_for_endorser", "required": false, "type": "boolean", "description": "Create Transaction For Endorser's signature"}], "tags": ["credential-definition"], "summary": "Sends a credential definition to the ledger", "produces": ["application/json"]}}, "/credential-definitions/created": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/CredentialDefinitionsCreatedResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "cred_def_id", "required": false, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "description": "Credential definition id", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag"}, {"in": "query", "name": "issuer_did", "required": false, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "Issuer DID", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "schema_id", "required": false, "type": "string", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0"}, {"in": "query", "name": "schema_issuer_did", "required": false, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "Schema issuer DID", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "schema_name", "required": false, "type": "string", "description": "Schema name", "example": "membership"}, {"in": "query", "name": "schema_version", "required": false, "type": "string", "pattern": "^[0-9.]+$", "description": "Schema version", "example": "1.0"}], "tags": ["credential-definition"], "summary": "Search for matching credential definitions that agent originated", "produces": ["application/json"]}}, "/credential-definitions/{cred_def_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/CredentialDefinitionGetResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "cred_def_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag"}], "tags": ["credential-definition"], "summary": "Gets a credential definition from the ledger", "produces": ["application/json"]}}, "/credential-definitions/{cred_def_id}/write_record": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/CredentialDefinitionGetResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "cred_def_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag"}], "tags": ["credential-definition"], "summary": "Writes a credential definition non-secret record to the wallet", "produces": ["application/json"]}}, "/credential/mime-types/{credential_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/AttributeMimeTypesResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "credential_id", "required": true, "type": "string", "description": "Credential identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["credentials"], "summary": "Get attribute MIME types from wallet", "produces": ["application/json"]}}, "/credential/revoked/{credential_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/CredRevokedResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "credential_id", "required": true, "type": "string", "description": "Credential identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "from", "required": false, "type": "string", "pattern": "^[0-9]*$", "description": "Earliest epoch of revocation status interval of interest", "example": "0"}, {"in": "query", "name": "to", "required": false, "type": "string", "pattern": "^[0-9]*$", "description": "Latest epoch of revocation status interval of interest", "example": "0"}], "tags": ["credentials"], "summary": "Query credential revocation status by id", "produces": ["application/json"]}}, "/credential/w3c/{credential_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/VCRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "credential_id", "required": true, "type": "string", "description": "Credential identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["credentials"], "summary": "Fetch W3C credential from wallet by id", "produces": ["application/json"]}, "delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/HolderModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "credential_id", "required": true, "type": "string", "description": "Credential identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["credentials"], "summary": "Remove W3C credential from wallet by id", "produces": ["application/json"]}}, "/credential/{credential_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/IndyCredInfo"}, "description": ""}}, "parameters": [{"in": "path", "name": "credential_id", "required": true, "type": "string", "description": "Credential identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["credentials"], "summary": "Fetch credential from wallet by id", "produces": ["application/json"]}, "delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/HolderModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "credential_id", "required": true, "type": "string", "description": "Credential identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["credentials"], "summary": "Remove credential from wallet by id", "produces": ["application/json"]}}, "/credentials": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/CredInfoList"}, "description": ""}}, "parameters": [{"in": "query", "name": "count", "required": false, "type": "string", "pattern": "^[1-9][0-9]*$", "description": "Maximum number to retrieve", "example": "1"}, {"in": "query", "name": "start", "required": false, "type": "string", "pattern": "^[0-9]*$", "description": "Start index", "example": "0"}, {"in": "query", "name": "wql", "required": false, "type": "string", "pattern": "^{.*}$", "description": "(JSON) WQL query", "example": "{\"attr::name::value\": \"Alex\"}"}], "tags": ["credentials"], "summary": "Fetch credentials from wallet", "produces": ["application/json"]}}, "/credentials/w3c": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/VCRecordList"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/W3CCredentialsListRequest"}}, {"in": "query", "name": "count", "required": false, "type": "string", "pattern": "^[1-9][0-9]*$", "description": "Maximum number to retrieve", "example": "1"}, {"in": "query", "name": "start", "required": false, "type": "string", "pattern": "^[0-9]*$", "description": "Start index", "example": "0"}, {"in": "query", "name": "wql", "required": false, "type": "string", "pattern": "^{.*}$", "description": "(JSON) WQL query", "example": "{\"attr::name::value\": \"Alex\"}"}], "tags": ["credentials"], "summary": "Fetch W3C credentials from wallet", "produces": ["application/json"]}}, "/didexchange/create-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnRecord"}, "description": ""}}, "parameters": [{"in": "query", "name": "their_public_did", "required": true, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$|^did:([a-zA-Z0-9_]+):([a-zA-Z0-9_.%-]+(:[a-zA-Z0-9_.%-]+)*)((;[a-zA-Z0-9_.:%-]+=[a-zA-Z0-9_.:%-]*)*)(\\/[^#?]*)?([?][^#]*)?(\\#.*)?$$", "description": "Qualified public DID to which to request connection", "example": "did:peer:WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "alias", "required": false, "type": "string", "description": "Alias for connection", "example": "Barry"}, {"in": "query", "name": "mediation_id", "required": false, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Identifier for active mediation record to be used", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "my_endpoint", "required": false, "type": "string", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "description": "My URL endpoint", "example": "https://myhost:8021"}, {"in": "query", "name": "my_label", "required": false, "type": "string", "description": "Label for connection request", "example": "Broker"}, {"in": "query", "name": "use_public_did", "required": false, "type": "boolean", "description": "Use public DID for this connection"}], "tags": ["did-exchange"], "summary": "Create and send a request against public DID's implicit invitation", "produces": ["application/json"]}}, "/didexchange/receive-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/DIDXRequest"}}, {"in": "query", "name": "alias", "required": false, "type": "string", "description": "Alias for connection", "example": "Barry"}, {"in": "query", "name": "auto_accept", "required": false, "type": "boolean", "description": "Auto-accept connection (defaults to configuration)"}, {"in": "query", "name": "mediation_id", "required": false, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Identifier for active mediation record to be used", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "my_endpoint", "required": false, "type": "string", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "description": "My URL endpoint", "example": "https://myhost:8021"}], "tags": ["did-exchange"], "summary": "Receive request against public DID's implicit invitation", "produces": ["application/json"]}}, "/didexchange/{conn_id}/accept-invitation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "my_endpoint", "required": false, "type": "string", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "description": "My URL endpoint", "example": "https://myhost:8021"}, {"in": "query", "name": "my_label", "required": false, "type": "string", "description": "Label for connection request", "example": "Broker"}], "tags": ["did-exchange"], "summary": "Accept a stored connection invitation", "produces": ["application/json"]}}, "/didexchange/{conn_id}/accept-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/ConnRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "mediation_id", "required": false, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Identifier for active mediation record to be used", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "my_endpoint", "required": false, "type": "string", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "description": "My URL endpoint", "example": "https://myhost:8021"}], "tags": ["did-exchange"], "summary": "Accept a stored connection request", "produces": ["application/json"]}}, "/discover-features-2.0/queries": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20DiscoveryExchangeResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "connection_id", "required": false, "type": "string", "description": "Connection identifier, if none specified, then the query will provide features for this agent.", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "query_goal_code", "required": false, "type": "string", "description": "Goal-code feature-type query", "example": "*"}, {"in": "query", "name": "query_protocol", "required": false, "type": "string", "description": "Protocol feature-type query", "example": "*"}], "tags": ["discover-features v2.0"], "summary": "Query supported features", "produces": ["application/json"]}}, "/discover-features-2.0/records": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20DiscoveryExchangeListResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "connection_id", "required": false, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["discover-features v2.0"], "summary": "Discover Features v2.0 records", "produces": ["application/json"]}}, "/discover-features/query": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10DiscoveryRecord"}, "description": ""}}, "parameters": [{"in": "query", "name": "comment", "required": false, "type": "string", "description": "Comment", "example": "test"}, {"in": "query", "name": "connection_id", "required": false, "type": "string", "description": "Connection identifier, if none specified, then the query will provide features for this agent.", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "query", "required": false, "type": "string", "description": "Protocol feature query", "example": "*"}], "tags": ["discover-features"], "summary": "Query supported features", "produces": ["application/json"]}}, "/discover-features/records": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10DiscoveryExchangeListResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "connection_id", "required": false, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["discover-features"], "summary": "Discover Features records", "produces": ["application/json"]}}, "/issue-credential-2.0/create": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20IssueCredSchemaCore"}}], "tags": ["issue-credential v2.0"], "summary": "Create a credential record without sending (generally for use with Out-Of-Band)", "produces": ["application/json"]}}, "/issue-credential-2.0/create-offer": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredOfferConnFreeRequest"}}], "tags": ["issue-credential v2.0"], "summary": "Create a credential offer, independent of any proposal or connection", "produces": ["application/json"]}}, "/issue-credential-2.0/records": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecordListResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "connection_id", "required": false, "type": "string", "format": "uuid", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "role", "required": false, "type": "string", "enum": ["issuer", "holder"], "description": "Role assigned in credential exchange"}, {"in": "query", "name": "state", "required": false, "type": "string", "enum": ["proposal-sent", "proposal-received", "offer-sent", "offer-received", "request-sent", "request-received", "credential-issued", "credential-received", "done", "credential-revoked", "abandoned"], "description": "Credential exchange state"}, {"in": "query", "name": "thread_id", "required": false, "type": "string", "format": "uuid", "description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v2.0"], "summary": "Fetch all credential exchange records", "produces": ["application/json"]}}, "/issue-credential-2.0/records/{cred_ex_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecordDetail"}, "description": ""}}, "parameters": [{"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v2.0"], "summary": "Fetch a single credential exchange record", "produces": ["application/json"]}, "delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20IssueCredentialModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v2.0"], "summary": "Remove an existing credential exchange record", "produces": ["application/json"]}}, "/issue-credential-2.0/records/{cred_ex_id}/issue": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecordDetail"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredIssueRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v2.0"], "summary": "Send holder a credential", "produces": ["application/json"]}}, "/issue-credential-2.0/records/{cred_ex_id}/problem-report": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20IssueCredentialModuleResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredIssueProblemReportRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v2.0"], "summary": "Send a problem report for credential exchange", "produces": ["application/json"]}}, "/issue-credential-2.0/records/{cred_ex_id}/send-offer": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredBoundOfferRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v2.0"], "summary": "Send holder a credential offer in reference to a proposal with preview", "produces": ["application/json"]}}, "/issue-credential-2.0/records/{cred_ex_id}/send-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredRequestRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v2.0"], "summary": "Send issuer a credential request", "produces": ["application/json"]}}, "/issue-credential-2.0/records/{cred_ex_id}/store": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecordDetail"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredStoreRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v2.0"], "summary": "Store a received credential", "produces": ["application/json"]}}, "/issue-credential-2.0/send": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredExFree"}}], "tags": ["issue-credential v2.0"], "summary": "Send holder a credential, automating entire flow", "produces": ["application/json"]}}, "/issue-credential-2.0/send-offer": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredOfferRequest"}}], "tags": ["issue-credential v2.0"], "summary": "Send holder a credential offer, independent of any proposal", "produces": ["application/json"]}}, "/issue-credential-2.0/send-proposal": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredExFree"}}], "tags": ["issue-credential v2.0"], "summary": "Send issuer a credential proposal", "produces": ["application/json"]}}, "/issue-credential-2.0/send-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20CredExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20CredRequestFree"}}], "tags": ["issue-credential v2.0"], "summary": "Send issuer a credential request not bound to an existing thread. Indy credentials cannot start at a request", "produces": ["application/json"]}}, "/issue-credential/create": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialCreate"}}], "tags": ["issue-credential v1.0"], "summary": "Create a credential record without sending (generally for use with Out-Of-Band)", "produces": ["application/json"]}}, "/issue-credential/create-offer": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialConnFreeOfferRequest"}}], "tags": ["issue-credential v1.0"], "summary": "Create a credential offer, independent of any proposal or connection", "produces": ["application/json"]}}, "/issue-credential/records": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchangeListResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "connection_id", "required": false, "type": "string", "format": "uuid", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "role", "required": false, "type": "string", "enum": ["issuer", "holder"], "description": "Role assigned in credential exchange"}, {"in": "query", "name": "state", "required": false, "type": "string", "enum": ["proposal_sent", "proposal_received", "offer_sent", "offer_received", "request_sent", "request_received", "credential_issued", "credential_received", "credential_acked", "credential_revoked", "abandoned"], "description": "Credential exchange state"}, {"in": "query", "name": "thread_id", "required": false, "type": "string", "format": "uuid", "description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v1.0"], "summary": "Fetch all credential exchange records", "produces": ["application/json"]}}, "/issue-credential/records/{cred_ex_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v1.0"], "summary": "Fetch a single credential exchange record", "produces": ["application/json"]}, "delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/IssueCredentialModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v1.0"], "summary": "Remove an existing credential exchange record", "produces": ["application/json"]}}, "/issue-credential/records/{cred_ex_id}/issue": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialIssueRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v1.0"], "summary": "Send holder a credential", "produces": ["application/json"]}}, "/issue-credential/records/{cred_ex_id}/problem-report": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/IssueCredentialModuleResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialProblemReportRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v1.0"], "summary": "Send a problem report for credential exchange", "produces": ["application/json"]}}, "/issue-credential/records/{cred_ex_id}/send-offer": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialBoundOfferRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v1.0"], "summary": "Send holder a credential offer in reference to a proposal with preview", "produces": ["application/json"]}}, "/issue-credential/records/{cred_ex_id}/send-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v1.0"], "summary": "Send issuer a credential request", "produces": ["application/json"]}}, "/issue-credential/records/{cred_ex_id}/store": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialStoreRequest"}}, {"in": "path", "name": "cred_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["issue-credential v1.0"], "summary": "Store a received credential", "produces": ["application/json"]}}, "/issue-credential/send": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialProposalRequestMand"}}], "tags": ["issue-credential v1.0"], "summary": "Send holder a credential, automating entire flow", "produces": ["application/json"]}}, "/issue-credential/send-offer": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialFreeOfferRequest"}}], "tags": ["issue-credential v1.0"], "summary": "Send holder a credential offer, independent of any proposal", "produces": ["application/json"]}}, "/issue-credential/send-proposal": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10CredentialExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10CredentialProposalRequestOpt"}}], "tags": ["issue-credential v1.0"], "summary": "Send issuer a credential proposal", "produces": ["application/json"]}}, "/jsonld/sign": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/SignResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/SignRequest"}}], "tags": ["jsonld"], "summary": "Sign a JSON-LD structure and return it", "produces": ["application/json"]}}, "/jsonld/verify": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/VerifyResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/VerifyRequest"}}], "tags": ["jsonld"], "summary": "Verify a JSON-LD structure.", "produces": ["application/json"]}}, "/ledger/did-endpoint": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/GetDIDEndpointResponse"}, "description": ""}}, "parameters": [{"in": "query", "name": "did", "required": true, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "DID of interest", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "endpoint_type", "required": false, "type": "string", "enum": ["Endpoint", "Profile", "LinkedDomains"], "description": "Endpoint type of interest (default 'Endpoint')", "example": "Endpoint"}], "tags": ["ledger"], "summary": "Get the endpoint for a DID from the ledger.", "produces": ["application/json"]}}, "/ledger/did-verkey": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/GetDIDVerkeyResponse"}, "description": ""}}, "parameters": [{"in": "query", "name": "did", "required": true, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "DID of interest", "example": "WgWxqztrNooG92RXvxSTWv"}], "tags": ["ledger"], "summary": "Get the verkey for a DID from the ledger.", "produces": ["application/json"]}}, "/ledger/get-nym-role": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/GetNymRoleResponse"}, "description": ""}}, "parameters": [{"in": "query", "name": "did", "required": true, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "DID of interest", "example": "WgWxqztrNooG92RXvxSTWv"}], "tags": ["ledger"], "summary": "Get the role from the NYM registration of a public DID.", "produces": ["application/json"]}}, "/ledger/multiple/config": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/LedgerConfigList"}, "description": ""}}, "parameters": [], "tags": ["ledger"], "summary": "Fetch the multiple ledger configuration currently in use", "produces": ["application/json"]}}, "/ledger/multiple/get-write-ledger": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/WriteLedgerRequest"}, "description": ""}}, "parameters": [], "tags": ["ledger"], "summary": "Fetch the current write ledger", "produces": ["application/json"]}}, "/ledger/register-nym": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TxnOrRegisterLedgerNymResponse"}, "description": ""}}, "parameters": [{"in": "query", "name": "did", "required": true, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "DID to register", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "verkey", "required": true, "type": "string", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "description": "Verification key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"}, {"in": "query", "name": "alias", "required": false, "type": "string", "description": "Alias", "example": "Barry"}, {"in": "query", "name": "conn_id", "required": false, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "create_transaction_for_endorser", "required": false, "type": "boolean", "description": "Create Transaction For Endorser's signature"}, {"in": "query", "name": "role", "required": false, "type": "string", "enum": ["STEWARD", "TRUSTEE", "ENDORSER", "NETWORK_MONITOR", "reset"], "description": "Role"}], "tags": ["ledger"], "summary": "Send a NYM registration to the ledger.", "produces": ["application/json"]}}, "/ledger/rotate-public-did-keypair": {"patch": {"responses": {"200": {"schema": {"$ref": "#/definitions/LedgerModulesResult"}, "description": ""}}, "parameters": [], "tags": ["ledger"], "summary": "Rotate key pair for public DID.", "produces": ["application/json"]}}, "/ledger/taa": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/TAAResult"}, "description": ""}}, "parameters": [], "tags": ["ledger"], "summary": "Fetch the current transaction author agreement, if any", "produces": ["application/json"]}}, "/ledger/taa/accept": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/LedgerModulesResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/TAAAccept"}}], "tags": ["ledger"], "summary": "Accept the transaction author agreement", "produces": ["application/json"]}}, "/mediation/default-mediator": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/MediationRecord"}, "description": ""}}, "parameters": [], "tags": ["mediation"], "summary": "Get default mediator", "produces": ["application/json"]}, "delete": {"responses": {"201": {"schema": {"$ref": "#/definitions/MediationRecord"}, "description": ""}}, "parameters": [], "tags": ["mediation"], "summary": "Clear default mediator", "produces": ["application/json"]}}, "/mediation/keylists": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/Keylist"}, "description": ""}}, "parameters": [{"in": "query", "name": "conn_id", "required": false, "type": "string", "format": "uuid", "description": "Connection identifier (optional)", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "role", "required": false, "type": "string", "default": "server", "enum": ["client", "server"], "description": "Filer on role, 'client' for keys mediated by other agents, 'server' for keys mediated by this agent"}], "tags": ["mediation"], "summary": "Retrieve keylists by connection or role", "produces": ["application/json"]}}, "/mediation/keylists/{mediation_id}/send-keylist-query": {"post": {"responses": {"201": {"schema": {"$ref": "#/definitions/KeylistQuery"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/KeylistQueryFilterRequest"}}, {"in": "path", "name": "mediation_id", "required": true, "type": "string", "format": "uuid", "description": "Mediation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "paginate_limit", "required": false, "type": "integer", "format": "int32", "default": -1, "description": "limit number of results"}, {"in": "query", "name": "paginate_offset", "required": false, "type": "integer", "format": "int32", "default": 0, "description": "offset to use in pagination"}], "tags": ["mediation"], "summary": "Send keylist query to mediator", "produces": ["application/json"]}}, "/mediation/keylists/{mediation_id}/send-keylist-update": {"post": {"responses": {"201": {"schema": {"$ref": "#/definitions/KeylistUpdate"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/KeylistUpdateRequest"}}, {"in": "path", "name": "mediation_id", "required": true, "type": "string", "format": "uuid", "description": "Mediation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["mediation"], "summary": "Send keylist update to mediator", "produces": ["application/json"]}}, "/mediation/request/{conn_id}": {"post": {"responses": {"201": {"schema": {"$ref": "#/definitions/MediationRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/MediationCreateRequest"}}, {"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["mediation"], "summary": "Request mediation from connection", "produces": ["application/json"]}}, "/mediation/requests": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/MediationList"}, "description": ""}}, "parameters": [{"in": "query", "name": "conn_id", "required": false, "type": "string", "format": "uuid", "description": "Connection identifier (optional)", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "mediator_terms", "required": false, "collectionFormat": "multi", "type": "array", "description": "List of mediator rules for recipient", "items": {"type": "string", "description": "Indicate terms to which the mediator requires the recipient to agree"}}, {"in": "query", "name": "recipient_terms", "required": false, "collectionFormat": "multi", "type": "array", "description": "List of recipient rules for mediation", "items": {"type": "string", "description": "Indicate terms to which the recipient requires the mediator to agree"}}, {"in": "query", "name": "state", "required": false, "type": "string", "enum": ["request", "granted", "denied"], "description": "Mediation state (optional)", "example": "granted"}], "tags": ["mediation"], "summary": "Query mediation requests, returns list of all mediation records", "produces": ["application/json"]}}, "/mediation/requests/{mediation_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/MediationRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "mediation_id", "required": true, "type": "string", "format": "uuid", "description": "Mediation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["mediation"], "summary": "Retrieve mediation request record", "produces": ["application/json"]}, "delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/MediationRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "mediation_id", "required": true, "type": "string", "format": "uuid", "description": "Mediation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["mediation"], "summary": "Delete mediation request by ID", "produces": ["application/json"]}}, "/mediation/requests/{mediation_id}/deny": {"post": {"responses": {"201": {"schema": {"$ref": "#/definitions/MediationDeny"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/AdminMediationDeny"}}, {"in": "path", "name": "mediation_id", "required": true, "type": "string", "format": "uuid", "description": "Mediation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["mediation"], "summary": "Deny a stored mediation request", "produces": ["application/json"]}}, "/mediation/requests/{mediation_id}/grant": {"post": {"responses": {"201": {"schema": {"$ref": "#/definitions/MediationGrant"}, "description": ""}}, "parameters": [{"in": "path", "name": "mediation_id", "required": true, "type": "string", "format": "uuid", "description": "Mediation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["mediation"], "summary": "Grant received mediation", "produces": ["application/json"]}}, "/mediation/update-keylist/{conn_id}": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/KeylistUpdate"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/MediationIdMatchInfo"}}, {"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["mediation"], "summary": "Update keylist for a connection", "produces": ["application/json"]}}, "/mediation/{mediation_id}/default-mediator": {"put": {"responses": {"201": {"schema": {"$ref": "#/definitions/MediationRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "mediation_id", "required": true, "type": "string", "format": "uuid", "description": "Mediation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["mediation"], "summary": "Set default mediator", "produces": ["application/json"]}}, "/multitenancy/wallet": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/CreateWalletResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/CreateWalletRequest"}}], "tags": ["multitenancy"], "summary": "Create a subwallet", "produces": ["application/json"]}}, "/multitenancy/wallet/{wallet_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/WalletRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "wallet_id", "required": true, "type": "string", "description": "Subwallet identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["multitenancy"], "summary": "Get a single subwallet", "produces": ["application/json"]}, "put": {"responses": {"200": {"schema": {"$ref": "#/definitions/WalletRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/UpdateWalletRequest"}}, {"in": "path", "name": "wallet_id", "required": true, "type": "string", "description": "Subwallet identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["multitenancy"], "summary": "Update a subwallet", "produces": ["application/json"]}}, "/multitenancy/wallet/{wallet_id}/remove": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/MultitenantModuleResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/RemoveWalletRequest"}}, {"in": "path", "name": "wallet_id", "required": true, "type": "string", "description": "Subwallet identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["multitenancy"], "summary": "Remove a subwallet", "produces": ["application/json"]}}, "/multitenancy/wallet/{wallet_id}/token": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/CreateWalletTokenResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/CreateWalletTokenRequest"}}, {"in": "path", "name": "wallet_id", "required": true, "type": "string"}], "tags": ["multitenancy"], "summary": "Get auth token for a subwallet", "produces": ["application/json"]}}, "/multitenancy/wallets": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/WalletList"}, "description": ""}}, "parameters": [{"in": "query", "name": "wallet_name", "required": false, "type": "string", "description": "Wallet name", "example": "MyNewWallet"}], "tags": ["multitenancy"], "summary": "Query subwallets", "produces": ["application/json"]}}, "/out-of-band/create-invitation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/InvitationRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/InvitationCreateRequest"}}, {"in": "query", "name": "auto_accept", "required": false, "type": "boolean", "description": "Auto-accept connection (defaults to configuration)"}, {"in": "query", "name": "multi_use", "required": false, "type": "boolean", "description": "Create invitation for multiple use (default false)"}], "tags": ["out-of-band"], "summary": "Create a new connection invitation", "produces": ["application/json"]}}, "/out-of-band/receive-invitation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/OobRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/InvitationMessage"}}, {"in": "query", "name": "alias", "required": false, "type": "string", "description": "Alias for connection", "example": "Barry"}, {"in": "query", "name": "auto_accept", "required": false, "type": "boolean", "description": "Auto-accept connection (defaults to configuration)"}, {"in": "query", "name": "mediation_id", "required": false, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Identifier for active mediation record to be used", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "use_existing_connection", "required": false, "type": "boolean", "description": "Use an existing connection, if possible"}], "tags": ["out-of-band"], "summary": "Receive a new connection invitation", "produces": ["application/json"]}}, "/plugins": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/AdminModules"}, "description": ""}}, "parameters": [], "tags": ["server"], "summary": "Fetch the list of loaded plugins", "produces": ["application/json"]}}, "/present-proof-2.0/create-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20PresCreateRequestRequest"}}], "tags": ["present-proof v2.0"], "summary": "Creates a presentation request not bound to any proposal or connection", "produces": ["application/json"]}}, "/present-proof-2.0/records": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresExRecordList"}, "description": ""}}, "parameters": [{"in": "query", "name": "connection_id", "required": false, "type": "string", "format": "uuid", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "role", "required": false, "type": "string", "enum": ["prover", "verifier"], "description": "Role assigned in presentation exchange"}, {"in": "query", "name": "state", "required": false, "type": "string", "enum": ["proposal-sent", "proposal-received", "request-sent", "request-received", "presentation-sent", "presentation-received", "done", "abandoned"], "description": "Presentation exchange state"}, {"in": "query", "name": "thread_id", "required": false, "type": "string", "format": "uuid", "description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v2.0"], "summary": "Fetch all present-proof exchange records", "produces": ["application/json"]}}, "/present-proof-2.0/records/{pres_ex_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresExRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v2.0"], "summary": "Fetch a single presentation exchange record", "produces": ["application/json"]}, "delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresentProofModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v2.0"], "summary": "Remove an existing presentation exchange record", "produces": ["application/json"]}}, "/present-proof-2.0/records/{pres_ex_id}/credentials": {"get": {"responses": {"200": {"schema": {"type": "array", "items": {"$ref": "#/definitions/IndyCredPrecis"}}, "description": ""}}, "parameters": [{"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "count", "required": false, "type": "string", "pattern": "^[1-9][0-9]*$", "description": "Maximum number to retrieve", "example": "1"}, {"in": "query", "name": "extra_query", "required": false, "type": "string", "pattern": "^{\\s*\".*?\"\\s*:\\s*{.*?}\\s*(,\\s*\".*?\"\\s*:\\s*{.*?}\\s*)*\\s*}$", "description": "(JSON) object mapping referents to extra WQL queries", "example": "{\"0_drink_uuid\": {\"attr::drink::value\": \"martini\"}}"}, {"in": "query", "name": "referent", "required": false, "type": "string", "description": "Proof request referents of interest, comma-separated", "example": "1_name_uuid,2_score_uuid"}, {"in": "query", "name": "start", "required": false, "type": "string", "pattern": "^[0-9]*$", "description": "Start index", "example": "0"}], "tags": ["present-proof v2.0"], "summary": "Fetch credentials from wallet for presentation request", "produces": ["application/json"]}}, "/present-proof-2.0/records/{pres_ex_id}/problem-report": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresentProofModuleResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20PresProblemReportRequest"}}, {"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v2.0"], "summary": "Send a problem report for presentation exchange", "produces": ["application/json"]}}, "/present-proof-2.0/records/{pres_ex_id}/send-presentation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20PresSpecByFormatRequest"}}, {"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v2.0"], "summary": "Sends a proof presentation", "produces": ["application/json"]}}, "/present-proof-2.0/records/{pres_ex_id}/send-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20PresentationSendRequestToProposal"}}, {"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v2.0"], "summary": "Sends a presentation request in reference to a proposal", "produces": ["application/json"]}}, "/present-proof-2.0/records/{pres_ex_id}/verify-presentation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresExRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v2.0"], "summary": "Verify a received presentation", "produces": ["application/json"]}}, "/present-proof-2.0/send-proposal": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20PresProposalRequest"}}], "tags": ["present-proof v2.0"], "summary": "Sends a presentation proposal", "produces": ["application/json"]}}, "/present-proof-2.0/send-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V20PresExRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V20PresSendRequestRequest"}}], "tags": ["present-proof v2.0"], "summary": "Sends a free presentation request not bound to any proposal", "produces": ["application/json"]}}, "/present-proof/create-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentationExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10PresentationCreateRequestRequest"}}], "tags": ["present-proof v1.0"], "summary": "Creates a presentation request not bound to any proposal or connection", "produces": ["application/json"]}}, "/present-proof/records": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentationExchangeList"}, "description": ""}}, "parameters": [{"in": "query", "name": "connection_id", "required": false, "type": "string", "format": "uuid", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "role", "required": false, "type": "string", "enum": ["prover", "verifier"], "description": "Role assigned in presentation exchange"}, {"in": "query", "name": "state", "required": false, "type": "string", "enum": ["proposal_sent", "proposal_received", "request_sent", "request_received", "presentation_sent", "presentation_received", "verified", "presentation_acked", "abandoned"], "description": "Presentation exchange state"}, {"in": "query", "name": "thread_id", "required": false, "type": "string", "format": "uuid", "description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v1.0"], "summary": "Fetch all present-proof exchange records", "produces": ["application/json"]}}, "/present-proof/records/{pres_ex_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentationExchange"}, "description": ""}}, "parameters": [{"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v1.0"], "summary": "Fetch a single presentation exchange record", "produces": ["application/json"]}, "delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentProofModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v1.0"], "summary": "Remove an existing presentation exchange record", "produces": ["application/json"]}}, "/present-proof/records/{pres_ex_id}/credentials": {"get": {"responses": {"200": {"schema": {"type": "array", "items": {"$ref": "#/definitions/IndyCredPrecis"}}, "description": ""}}, "parameters": [{"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "count", "required": false, "type": "string", "pattern": "^[1-9][0-9]*$", "description": "Maximum number to retrieve", "example": "1"}, {"in": "query", "name": "extra_query", "required": false, "type": "string", "pattern": "^{\\s*\".*?\"\\s*:\\s*{.*?}\\s*(,\\s*\".*?\"\\s*:\\s*{.*?}\\s*)*\\s*}$", "description": "(JSON) object mapping referents to extra WQL queries", "example": "{\"0_drink_uuid\": {\"attr::drink::value\": \"martini\"}}"}, {"in": "query", "name": "referent", "required": false, "type": "string", "description": "Proof request referents of interest, comma-separated", "example": "1_name_uuid,2_score_uuid"}, {"in": "query", "name": "start", "required": false, "type": "string", "pattern": "^[0-9]*$", "description": "Start index", "example": "0"}], "tags": ["present-proof v1.0"], "summary": "Fetch credentials for a presentation request from wallet", "produces": ["application/json"]}}, "/present-proof/records/{pres_ex_id}/problem-report": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentProofModuleResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10PresentationProblemReportRequest"}}, {"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v1.0"], "summary": "Send a problem report for presentation exchange", "produces": ["application/json"]}}, "/present-proof/records/{pres_ex_id}/send-presentation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentationExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/IndyPresSpec"}}, {"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v1.0"], "summary": "Sends a proof presentation", "produces": ["application/json"]}}, "/present-proof/records/{pres_ex_id}/send-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentationExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10PresentationSendRequestToProposal"}}, {"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v1.0"], "summary": "Sends a presentation request in reference to a proposal", "produces": ["application/json"]}}, "/present-proof/records/{pres_ex_id}/verify-presentation": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentationExchange"}, "description": ""}}, "parameters": [{"in": "path", "name": "pres_ex_id", "required": true, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["present-proof v1.0"], "summary": "Verify a received presentation", "produces": ["application/json"]}}, "/present-proof/send-proposal": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentationExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10PresentationProposalRequest"}}], "tags": ["present-proof v1.0"], "summary": "Sends a presentation proposal", "produces": ["application/json"]}}, "/present-proof/send-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/V10PresentationExchange"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/V10PresentationSendRequestRequest"}}], "tags": ["present-proof v1.0"], "summary": "Sends a free presentation request not bound to any proposal", "produces": ["application/json"]}}, "/resolver/resolve/{did}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/ResolutionResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "did", "required": true, "type": "string", "pattern": "^did:([a-z0-9]+):((?:[a-zA-Z0-9._%-]*:)*[a-zA-Z0-9._%-]+)$", "description": "DID", "example": "did:ted:WgWxqztrNooG92RXvxSTWv"}], "tags": ["resolver"], "summary": "Retrieve doc for requested did", "produces": ["application/json"]}}, "/revocation/active-registry/{cred_def_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "cred_def_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag"}], "tags": ["revocation"], "summary": "Get current active revocation registry by credential definition id", "produces": ["application/json"]}}, "/revocation/clear-pending-revocations": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/PublishRevocations"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/ClearPendingRevocationsRequest"}}], "tags": ["revocation"], "summary": "Clear pending revocations", "produces": ["application/json"]}}, "/revocation/create-registry": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/RevRegCreateRequest"}}], "tags": ["revocation"], "summary": "Creates a new revocation registry", "produces": ["application/json"]}}, "/revocation/credential-record": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/CredRevRecordResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "cred_ex_id", "required": false, "type": "string", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "cred_rev_id", "required": false, "type": "string", "pattern": "^[1-9][0-9]*$", "description": "Credential revocation identifier", "example": "12345"}, {"in": "query", "name": "rev_reg_id", "required": false, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Get credential revocation status", "produces": ["application/json"]}}, "/revocation/publish-revocations": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TxnOrPublishRevocationsResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/PublishRevocations"}}], "tags": ["revocation"], "summary": "Publish pending revocations to ledger", "produces": ["application/json"]}}, "/revocation/registries/created": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegsCreated"}, "description": ""}}, "parameters": [{"in": "query", "name": "cred_def_id", "required": false, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag"}, {"in": "query", "name": "state", "required": false, "type": "string", "enum": ["init", "generated", "posted", "active", "full"], "description": "Revocation registry state"}], "tags": ["revocation"], "summary": "Search for matching revocation registries that current agent created", "produces": ["application/json"]}}, "/revocation/registry/delete-tails-file": {"delete": {"responses": {"200": {"schema": {"$ref": "#/definitions/TailsDeleteResponse"}, "description": ""}}, "parameters": [{"in": "query", "name": "cred_def_id", "required": false, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag"}, {"in": "query", "name": "rev_reg_id", "required": false, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Delete the tail files", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Get revocation registry by revocation registry id", "produces": ["application/json"]}, "patch": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/RevRegUpdateTailsFileUri"}}, {"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Update revocation registry with new public URI to its tails file", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}/definition": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TxnOrRevRegResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}, {"in": "query", "name": "conn_id", "required": false, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "create_transaction_for_endorser", "required": false, "type": "boolean", "description": "Create Transaction For Endorser's signature"}], "tags": ["revocation"], "summary": "Send revocation registry definition to ledger", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}/entry": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}, {"in": "query", "name": "conn_id", "required": false, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "create_transaction_for_endorser", "required": false, "type": "boolean", "description": "Create Transaction For Endorser's signature"}], "tags": ["revocation"], "summary": "Send revocation registry entry to ledger", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}/fix-revocation-entry-state": {"put": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegWalletUpdatedResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}, {"in": "query", "name": "apply_ledger_update", "required": true, "type": "boolean", "description": "Apply updated accumulator transaction to ledger"}], "tags": ["revocation"], "summary": "Fix revocation state in wallet and return number of updated entries", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}/issued": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegIssuedResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Get number of credentials issued against revocation registry", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}/issued/details": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/CredRevRecordDetailsResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Get details of credentials issued against revocation registry", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}/issued/indy_recs": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/CredRevIndyRecordsResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Get details of revoked credentials from ledger", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}/set-state": {"patch": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevRegResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}, {"in": "query", "name": "state", "required": true, "type": "string", "enum": ["init", "generated", "posted", "active", "full"], "description": "Revocation registry state to set"}], "tags": ["revocation"], "summary": "Set revocation registry state manually", "produces": ["application/json"]}}, "/revocation/registry/{rev_reg_id}/tails-file": {"put": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevocationModuleResponse"}, "description": ""}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Upload local tails file to server", "produces": ["application/json"]}, "get": {"responses": {"200": {"schema": {"type": "string", "format": "binary"}, "description": "tails file"}}, "parameters": [{"in": "path", "name": "rev_reg_id", "required": true, "type": "string", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "description": "Revocation Registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0"}], "tags": ["revocation"], "summary": "Download tails file", "produces": ["application/octet-stream"]}}, "/revocation/revoke": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/RevocationModuleResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/RevokeRequest"}}], "tags": ["revocation"], "summary": "Revoke an issued credential", "produces": ["application/json"]}}, "/schemas": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TxnOrSchemaSendResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/SchemaSendRequest"}}, {"in": "query", "name": "conn_id", "required": false, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "create_transaction_for_endorser", "required": false, "type": "boolean", "description": "Create Transaction For Endorser's signature"}], "tags": ["schema"], "summary": "Sends a schema to the ledger", "produces": ["application/json"]}}, "/schemas/created": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/SchemasCreatedResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "schema_id", "required": false, "type": "string", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0"}, {"in": "query", "name": "schema_issuer_did", "required": false, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "Schema issuer DID", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "schema_name", "required": false, "type": "string", "description": "Schema name", "example": "membership"}, {"in": "query", "name": "schema_version", "required": false, "type": "string", "pattern": "^[0-9.]+$", "description": "Schema version", "example": "1.0"}], "tags": ["schema"], "summary": "Search for matching schema that agent originated", "produces": ["application/json"]}}, "/schemas/{schema_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/SchemaGetResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "schema_id", "required": true, "type": "string", "pattern": "^[1-9][0-9]*|[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0"}], "tags": ["schema"], "summary": "Gets a schema from the ledger", "produces": ["application/json"]}}, "/schemas/{schema_id}/write_record": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/SchemaGetResult"}, "description": ""}}, "parameters": [{"in": "path", "name": "schema_id", "required": true, "type": "string", "pattern": "^[1-9][0-9]*|[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0"}], "tags": ["schema"], "summary": "Writes a schema non-secret record to the wallet", "produces": ["application/json"]}}, "/shutdown": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/AdminShutdown"}, "description": ""}}, "parameters": [], "tags": ["server"], "summary": "Shut down server", "produces": ["application/json"]}}, "/status": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/AdminStatus"}, "description": ""}}, "parameters": [], "tags": ["server"], "summary": "Fetch the server status", "produces": ["application/json"]}}, "/status/config": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/AdminConfig"}, "description": ""}}, "parameters": [], "tags": ["server"], "summary": "Fetch the server configuration", "produces": ["application/json"]}}, "/status/live": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/AdminStatusLiveliness"}, "description": ""}}, "parameters": [], "tags": ["server"], "summary": "Liveliness check", "produces": ["application/json"]}}, "/status/ready": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/AdminStatusReadiness"}, "description": ""}}, "parameters": [], "tags": ["server"], "summary": "Readiness check", "produces": ["application/json"]}}, "/status/reset": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/AdminReset"}, "description": ""}}, "parameters": [], "tags": ["server"], "summary": "Reset statistics", "produces": ["application/json"]}}, "/transaction/{tran_id}/resend": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "tran_id", "required": true, "type": "string", "description": "Transaction identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["endorse-transaction"], "summary": "For Author to resend a particular transaction request", "produces": ["application/json"]}}, "/transactions": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionList"}, "description": ""}}, "parameters": [], "tags": ["endorse-transaction"], "summary": "Query transactions", "produces": ["application/json"]}}, "/transactions/create-request": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionRecord"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/Date"}}, {"in": "query", "name": "tran_id", "required": true, "type": "string", "description": "Transaction identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "endorser_write_txn", "required": false, "type": "boolean", "description": "Endorser will write the transaction after endorsing it"}], "tags": ["endorse-transaction"], "summary": "For author to send a transaction request", "produces": ["application/json"]}}, "/transactions/{conn_id}/set-endorser-info": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/EndorserInfo"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "endorser_did", "required": true, "type": "string", "description": "Endorser DID"}, {"in": "query", "name": "endorser_name", "required": false, "type": "string", "description": "Endorser Name"}], "tags": ["endorse-transaction"], "summary": "Set Endorser Info", "produces": ["application/json"]}}, "/transactions/{conn_id}/set-endorser-role": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionJobs"}, "description": ""}}, "parameters": [{"in": "path", "name": "conn_id", "required": true, "type": "string", "description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "transaction_my_job", "required": false, "type": "string", "enum": ["TRANSACTION_AUTHOR", "TRANSACTION_ENDORSER", "reset"], "description": "Transaction related jobs"}], "tags": ["endorse-transaction"], "summary": "Set transaction jobs", "produces": ["application/json"]}}, "/transactions/{tran_id}": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "tran_id", "required": true, "type": "string", "description": "Transaction identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["endorse-transaction"], "summary": "Fetch a single transaction record", "produces": ["application/json"]}}, "/transactions/{tran_id}/cancel": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "tran_id", "required": true, "type": "string", "description": "Transaction identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["endorse-transaction"], "summary": "For Author to cancel a particular transaction request", "produces": ["application/json"]}}, "/transactions/{tran_id}/endorse": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "tran_id", "required": true, "type": "string", "description": "Transaction identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}, {"in": "query", "name": "endorser_did", "required": false, "type": "string", "description": "Endorser DID"}], "tags": ["endorse-transaction"], "summary": "For Endorser to endorse a particular transaction record", "produces": ["application/json"]}}, "/transactions/{tran_id}/refuse": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "tran_id", "required": true, "type": "string", "description": "Transaction identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["endorse-transaction"], "summary": "For Endorser to refuse a particular transaction record", "produces": ["application/json"]}}, "/transactions/{tran_id}/write": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/TransactionRecord"}, "description": ""}}, "parameters": [{"in": "path", "name": "tran_id", "required": true, "type": "string", "description": "Transaction identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6"}], "tags": ["endorse-transaction"], "summary": "For Author / Endorser to write an endorsed transaction to the ledger", "produces": ["application/json"]}}, "/wallet/did": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/DIDList"}, "description": ""}}, "parameters": [{"in": "query", "name": "did", "required": false, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$|^did:([a-zA-Z0-9_]+):([a-zA-Z0-9_.%-]+(:[a-zA-Z0-9_.%-]+)*)((;[a-zA-Z0-9_.:%-]+=[a-zA-Z0-9_.:%-]*)*)(\\/[^#?]*)?([?][^#]*)?(\\#.*)?$$", "description": "DID of interest", "example": "did:peer:WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "key_type", "required": false, "type": "string", "enum": ["ed25519", "bls12381g2"], "example": "ed25519", "description": "Key type to query for."}, {"in": "query", "name": "method", "required": false, "type": "string", "enum": ["key", "sov"], "example": "key", "description": "DID method to query for. e.g. sov to only fetch indy/sov DIDs"}, {"in": "query", "name": "posture", "required": false, "type": "string", "enum": ["public", "posted", "wallet_only"], "description": "Whether DID is current public DID, posted to ledger but current public DID, or local to the wallet", "example": "wallet_only"}, {"in": "query", "name": "verkey", "required": false, "type": "string", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "description": "Verification key of interest", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV"}], "tags": ["wallet"], "summary": "List wallet DIDs", "produces": ["application/json"]}}, "/wallet/did/create": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/DIDResult"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/DIDCreate"}}], "tags": ["wallet"], "summary": "Create a local DID", "produces": ["application/json"]}}, "/wallet/did/local/rotate-keypair": {"patch": {"responses": {"200": {"schema": {"$ref": "#/definitions/WalletModuleResponse"}, "description": ""}}, "parameters": [{"in": "query", "name": "did", "required": true, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "DID of interest", "example": "WgWxqztrNooG92RXvxSTWv"}], "tags": ["wallet"], "summary": "Rotate keypair for a DID not posted to the ledger", "produces": ["application/json"]}}, "/wallet/did/public": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/DIDResult"}, "description": ""}}, "parameters": [], "tags": ["wallet"], "summary": "Fetch the current public DID", "produces": ["application/json"]}, "post": {"responses": {"200": {"schema": {"$ref": "#/definitions/DIDResult"}, "description": ""}}, "parameters": [{"in": "query", "name": "did", "required": true, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "DID of interest", "example": "WgWxqztrNooG92RXvxSTWv"}, {"in": "query", "name": "conn_id", "required": false, "type": "string", "description": "Connection identifier"}, {"in": "query", "name": "create_transaction_for_endorser", "required": false, "type": "boolean", "description": "Create Transaction For Endorser's signature"}, {"in": "query", "name": "mediation_id", "required": false, "type": "string", "description": "Mediation identifier"}], "tags": ["wallet"], "summary": "Assign the current public DID", "produces": ["application/json"]}}, "/wallet/get-did-endpoint": {"get": {"responses": {"200": {"schema": {"$ref": "#/definitions/DIDEndpoint"}, "description": ""}}, "parameters": [{"in": "query", "name": "did", "required": true, "type": "string", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "description": "DID of interest", "example": "WgWxqztrNooG92RXvxSTWv"}], "tags": ["wallet"], "summary": "Query DID endpoint in wallet", "produces": ["application/json"]}}, "/wallet/set-did-endpoint": {"post": {"responses": {"200": {"schema": {"$ref": "#/definitions/WalletModuleResponse"}, "description": ""}}, "parameters": [{"in": "body", "required": false, "name": "body", "schema": {"$ref": "#/definitions/DIDEndpointWithType"}}, {"in": "query", "name": "conn_id", "required": false, "type": "string", "description": "Connection identifier"}, {"in": "query", "name": "create_transaction_for_endorser", "required": false, "type": "boolean", "description": "Create Transaction For Endorser's signature"}], "tags": ["wallet"], "summary": "Update endpoint in wallet and on ledger if posted to it", "produces": ["application/json"]}}}, "info": {"title": "aca-py client", "version": "v0.7.3"}, "swagger": "2.0", "definitions": {"AMLRecord": {"properties": {"aml": {"additionalProperties": {"type": "string"}, "type": "object"}, "amlContext": {"type": "string"}, "version": {"type": "string"}}, "type": "object"}, "ActionMenuFetchResult": {"properties": {"result": {"allOf": [{"$ref": "#/definitions/Menu"}], "description": "Action menu"}}, "type": "object"}, "ActionMenuModulesResult": {"properties": {}, "type": "object"}, "AdminConfig": {"properties": {"config": {"description": "Configuration settings", "type": "object"}}, "type": "object"}, "AdminMediationDeny": {"properties": {"mediator_terms": {"description": "List of mediator rules for recipient", "items": {"description": "Indicate terms to which the mediator requires the recipient to agree", "type": "string"}, "type": "array"}, "recipient_terms": {"description": "List of recipient rules for mediation", "items": {"description": "Indicate terms to which the recipient requires the mediator to agree", "type": "string"}, "type": "array"}}, "type": "object"}, "AdminModules": {"properties": {"result": {"description": "List of admin modules", "items": {"description": "admin module", "type": "string"}, "type": "array"}}, "type": "object"}, "AdminReset": {"properties": {}, "type": "object"}, "AdminShutdown": {"properties": {}, "type": "object"}, "AdminStatus": {"properties": {"conductor": {"description": "Conductor statistics", "type": "object"}, "label": {"description": "Default label", "type": "string", "x-nullable": true}, "timing": {"description": "Timing results", "type": "object"}, "version": {"description": "Version code", "type": "string"}}, "type": "object"}, "AdminStatusLiveliness": {"properties": {"alive": {"description": "Liveliness status", "example": true, "type": "boolean"}}, "type": "object"}, "AdminStatusReadiness": {"properties": {"ready": {"description": "Readiness status", "example": true, "type": "boolean"}}, "type": "object"}, "AttachDecorator": {"properties": {"@id": {"description": "Attachment identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "byte_count": {"description": "Byte count of data included by reference", "example": 1234, "format": "int32", "type": "integer"}, "data": {"$ref": "#/definitions/AttachDecoratorData"}, "description": {"description": "Human-readable description of content", "example": "view from doorway, facing east, with lights off", "type": "string"}, "filename": {"description": "File name", "example": "IMG1092348.png", "type": "string"}, "lastmod_time": {"description": "Hint regarding last modification datetime, in ISO-8601 format", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "mime-type": {"description": "MIME type", "example": "image/png", "type": "string"}}, "required": ["data"], "type": "object"}, "AttachDecoratorData": {"properties": {"base64": {"description": "Base64-encoded data", "example": "ey4uLn0=", "pattern": "^[a-zA-Z0-9+/]*={0,2}$", "type": "string"}, "json": {"description": "JSON-serialized data", "example": "{\"sample\": \"content\"}"}, "jws": {"allOf": [{"$ref": "#/definitions/AttachDecoratorDataJWS"}], "description": "Detached Java Web Signature"}, "links": {"description": "List of hypertext links to data", "items": {"example": "https://link.to/data", "type": "string"}, "type": "array"}, "sha256": {"description": "SHA256 hash (binhex encoded) of content", "example": "617a48c7c8afe0521efdc03e5bb0ad9e655893e6b4b51f0e794d70fba132aacb", "pattern": "^[a-fA-F0-9+/]{64}$", "type": "string"}}, "type": "object"}, "AttachDecoratorData1JWS": {"properties": {"header": {"$ref": "#/definitions/AttachDecoratorDataJWSHeader"}, "protected": {"description": "protected JWS header", "example": "ey4uLn0", "pattern": "^[-_a-zA-Z0-9]*$", "type": "string"}, "signature": {"description": "signature", "example": "ey4uLn0", "pattern": "^[-_a-zA-Z0-9]*$", "type": "string"}}, "required": ["header", "signature"], "type": "object"}, "AttachDecoratorDataJWS": {"properties": {"header": {"$ref": "#/definitions/AttachDecoratorDataJWSHeader"}, "protected": {"description": "protected JWS header", "example": "ey4uLn0", "pattern": "^[-_a-zA-Z0-9]*$", "type": "string"}, "signature": {"description": "signature", "example": "ey4uLn0", "pattern": "^[-_a-zA-Z0-9]*$", "type": "string"}, "signatures": {"description": "List of signatures", "items": {"$ref": "#/definitions/AttachDecoratorData1JWS"}, "type": "array"}}, "type": "object"}, "AttachDecoratorDataJWSHeader": {"properties": {"kid": {"description": "Key identifier, in W3C did:key or DID URL format", "example": "did:sov:LjgpST2rjsoxYegQDRm7EL#keys-4", "pattern": "^did:(?:key:z[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+|sov:[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}(;.*)?(\\?.*)?#.+)$", "type": "string"}}, "required": ["kid"], "type": "object"}, "AttachmentDef": {"properties": {"id": {"description": "Attachment identifier", "example": "attachment-0", "type": "string"}, "type": {"description": "Attachment type", "enum": ["credential-offer", "present-proof"], "example": "present-proof", "type": "string"}}, "type": "object"}, "AttributeMimeTypesResult": {"properties": {"results": {"additionalProperties": {"description": "MIME type", "type": "string"}, "type": "object", "x-nullable": true}}, "type": "object"}, "BasicMessageModuleResponse": {"properties": {}, "type": "object"}, "ClaimFormat": {"properties": {"jwt": {"type": "object"}, "jwt_vc": {"type": "object"}, "jwt_vp": {"type": "object"}, "ldp": {"type": "object"}, "ldp_vc": {"type": "object"}, "ldp_vp": {"type": "object"}}, "type": "object"}, "ClearPendingRevocationsRequest": {"properties": {"purge": {"additionalProperties": {"items": {"description": "Credential revocation identifier", "example": "12345", "pattern": "^[1-9][0-9]*$", "type": "string"}, "type": "array"}, "description": "Credential revocation ids by revocation registry id: omit for all, specify null or empty list for all pending per revocation registry", "type": "object"}}, "type": "object"}, "ConnRecord": {"properties": {"accept": {"description": "Connection acceptance: manual or auto", "enum": ["manual", "auto"], "example": "auto", "type": "string"}, "alias": {"description": "Optional alias to apply to connection for later use", "example": "Bob, providing quotes", "type": "string"}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "connection_protocol": {"description": "Connection protocol used", "enum": ["connections/1.0", "didexchange/1.0"], "example": "connections/1.0", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "error_msg": {"description": "Error message", "example": "No DIDDoc provided; cannot connect to public DID", "type": "string"}, "inbound_connection_id": {"description": "Inbound routing connection id to use", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "invitation_key": {"description": "Public key for connection", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "invitation_mode": {"description": "Invitation mode", "enum": ["once", "multi", "static"], "example": "once", "type": "string"}, "invitation_msg_id": {"description": "ID of out-of-band invitation message", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "my_did": {"description": "Our DID for connection", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "request_id": {"description": "Connection request identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "rfc23_state": {"description": "State per RFC 23", "example": "invitation-sent", "readOnly": true, "type": "string"}, "routing_state": {"description": "Routing state of connection", "enum": ["none", "request", "active", "error"], "example": "active", "type": "string"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "their_did": {"description": "Their DID for connection", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "their_label": {"description": "Their label for connection", "example": "Bob", "type": "string"}, "their_public_did": {"description": "Other agent's public DID for connection", "example": "2cpBmR3FqGKWi5EyUbpRY8", "type": "string"}, "their_role": {"description": "Their role in the connection protocol", "enum": ["invitee", "requester", "inviter", "responder"], "example": "requester", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "ConnectionInvitation": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "did": {"description": "DID for connection invitation", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "imageUrl": {"description": "Optional image URL for connection invitation", "example": "http://192.168.56.101/img/logo.jpg", "format": "url", "type": "string", "x-nullable": true}, "label": {"description": "Optional label for connection invitation", "example": "Bob", "type": "string"}, "recipientKeys": {"description": "List of recipient keys", "items": {"description": "Recipient public key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "type": "array"}, "routingKeys": {"description": "List of routing keys", "items": {"description": "Routing key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "type": "array"}, "serviceEndpoint": {"description": "Service endpoint at which to reach this agent", "example": "http://192.168.56.101:8020", "type": "string"}}, "type": "object"}, "ConnectionList": {"properties": {"results": {"description": "List of connection records", "items": {"$ref": "#/definitions/ConnRecord"}, "type": "array"}}, "type": "object"}, "ConnectionMetadata": {"properties": {"results": {"description": "Dictionary of metadata associated with connection.", "type": "object"}}, "type": "object"}, "ConnectionMetadataSetRequest": {"properties": {"metadata": {"description": "Dictionary of metadata to set for connection.", "type": "object"}}, "required": ["metadata"], "type": "object"}, "ConnectionModuleResponse": {"properties": {}, "type": "object"}, "ConnectionStaticRequest": {"properties": {"alias": {"description": "Alias to assign to this connection", "type": "string"}, "my_did": {"description": "Local DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "my_seed": {"description": "Seed to use for the local DID", "type": "string"}, "their_did": {"description": "Remote DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "their_endpoint": {"description": "URL endpoint for other party", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}, "their_label": {"description": "Other party's label for this connection", "type": "string"}, "their_seed": {"description": "Seed to use for the remote DID", "type": "string"}, "their_verkey": {"description": "Remote verification key", "type": "string"}}, "type": "object"}, "ConnectionStaticResult": {"properties": {"my_did": {"description": "Local DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "my_endpoint": {"description": "My URL endpoint", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}, "my_verkey": {"description": "My verification key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "record": {"$ref": "#/definitions/ConnRecord"}, "their_did": {"description": "Remote DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "their_verkey": {"description": "Remote verification key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}}, "required": ["my_did", "my_endpoint", "my_verkey", "record", "their_did", "their_verkey"], "type": "object"}, "Constraints": {"properties": {"fields": {"items": {"$ref": "#/definitions/DIFField"}, "type": "array"}, "is_holder": {"items": {"$ref": "#/definitions/DIFHolder"}, "type": "array"}, "limit_disclosure": {"description": "LimitDisclosure", "type": "string"}, "status_active": {"enum": ["required", "allowed", "disallowed"], "type": "string"}, "status_revoked": {"enum": ["required", "allowed", "disallowed"], "type": "string"}, "status_suspended": {"enum": ["required", "allowed", "disallowed"], "type": "string"}, "subject_is_issuer": {"description": "SubjectIsIssuer", "enum": ["required", "preferred"], "type": "string"}}, "type": "object"}, "CreateInvitationRequest": {"properties": {"mediation_id": {"description": "Identifier for active mediation record to be used", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "type": "string"}, "metadata": {"description": "Optional metadata to attach to the connection created with the invitation", "type": "object"}, "my_label": {"description": "Optional label for connection invitation", "example": "Bob", "type": "string"}, "recipient_keys": {"description": "List of recipient keys", "items": {"description": "Recipient public key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "type": "array"}, "routing_keys": {"description": "List of routing keys", "items": {"description": "Routing key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "type": "array"}, "service_endpoint": {"description": "Connection endpoint", "example": "http://192.168.56.102:8020", "type": "string"}}, "type": "object"}, "CreateWalletRequest": {"properties": {"image_url": {"description": "Image url for this wallet. This image url is publicized (self-attested) to other agents as part of forming a connection.", "example": "https://aries.ca/images/sample.png", "type": "string"}, "key_management_mode": {"description": "Key management method to use for this wallet.", "enum": ["managed"], "example": "managed", "type": "string"}, "label": {"description": "Label for this wallet. This label is publicized (self-attested) to other agents as part of forming a connection.", "example": "Alice", "type": "string"}, "wallet_dispatch_type": {"description": "Webhook target dispatch type for this wallet. default - Dispatch only to webhooks associated with this wallet. base - Dispatch only to webhooks associated with the base wallet. both - Dispatch to both webhook targets.", "enum": ["default", "both", "base"], "example": "default", "type": "string"}, "wallet_key": {"description": "Master key used for key derivation.", "example": "MySecretKey123", "type": "string"}, "wallet_key_derivation": {"description": "Key derivation", "enum": ["ARGON2I_MOD", "ARGON2I_INT", "RAW"], "example": "RAW", "type": "string"}, "wallet_name": {"description": "Wallet name", "example": "MyNewWallet", "type": "string"}, "wallet_type": {"description": "Type of the wallet to create", "enum": ["askar", "in_memory", "indy"], "example": "indy", "type": "string"}, "wallet_webhook_urls": {"description": "List of Webhook URLs associated with this subwallet", "items": {"description": "Optional webhook URL to receive webhook messages", "example": "http://localhost:8022/webhooks", "type": "string"}, "type": "array"}}, "type": "object"}, "CreateWalletResponse": {"properties": {"created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "key_management_mode": {"description": "Mode regarding management of wallet key", "enum": ["managed", "unmanaged"], "type": "string"}, "settings": {"description": "Settings for this wallet.", "type": "object"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "token": {"description": "Authorization token to authenticate wallet requests", "example": "eyJhbGciOiJFZERTQSJ9.eyJhIjogIjAifQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "wallet_id": {"description": "Wallet record ID", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}}, "required": ["key_management_mode", "wallet_id"], "type": "object"}, "CreateWalletTokenRequest": {"properties": {"wallet_key": {"description": "Master key used for key derivation. Only required for unamanged wallets.", "example": "MySecretKey123", "type": "string"}}, "type": "object"}, "CreateWalletTokenResponse": {"properties": {"token": {"description": "Authorization token to authenticate wallet requests", "example": "eyJhbGciOiJFZERTQSJ9.eyJhIjogIjAifQ.dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk", "type": "string"}}, "type": "object"}, "CredAttrSpec": {"properties": {"mime-type": {"description": "MIME type: omit for (null) default", "example": "image/jpeg", "type": "string", "x-nullable": true}, "name": {"description": "Attribute name", "example": "favourite_drink", "type": "string"}, "value": {"description": "Attribute value: base64-encode if MIME type is present", "example": "martini", "type": "string"}}, "required": ["name", "value"], "type": "object"}, "CredDefValue": {"properties": {"primary": {"allOf": [{"$ref": "#/definitions/CredDefValuePrimary"}], "description": "Primary value for credential definition"}, "revocation": {"allOf": [{"$ref": "#/definitions/CredDefValueRevocation"}], "description": "Revocation value for credential definition"}}, "type": "object"}, "CredDefValuePrimary": {"properties": {"n": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "r": {"$ref": "#/definitions/Generated"}, "rctxt": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "s": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "z": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}}, "type": "object"}, "CredDefValueRevocation": {"properties": {"g": {"example": "1 1F14F&ECB578F 2 095E45DDF417D", "type": "string"}, "g_dash": {"example": "1 1D64716fCDC00C 1 0C781960FA66E3D3 2 095E45DDF417D", "type": "string"}, "h": {"example": "1 16675DAE54BFAE8 2 095E45DD417D", "type": "string"}, "h0": {"example": "1 21E5EF9476EAF18 2 095E45DDF417D", "type": "string"}, "h1": {"example": "1 236D1D99236090 2 095E45DDF417D", "type": "string"}, "h2": {"example": "1 1C3AE8D1F1E277 2 095E45DDF417D", "type": "string"}, "h_cap": {"example": "1 1B2A32CF3167 1 2490FEBF6EE55 1 0000000000000000", "type": "string"}, "htilde": {"example": "1 1D8549E8C0F8 2 095E45DDF417D", "type": "string"}, "pk": {"example": "1 142CD5E5A7DC 1 153885BD903312 2 095E45DDF417D", "type": "string"}, "u": {"example": "1 0C430AAB2B4710 1 1CB3A0932EE7E 1 0000000000000000", "type": "string"}, "y": {"example": "1 153558BD903312 2 095E45DDF417D 1 0000000000000000", "type": "string"}}, "type": "object"}, "CredInfoList": {"properties": {"results": {"items": {"$ref": "#/definitions/IndyCredInfo"}, "type": "array"}}, "type": "object"}, "CredRevIndyRecordsResult": {"properties": {"rev_reg_delta": {"description": "Indy revocation registry delta", "type": "object"}}, "type": "object"}, "CredRevRecordDetailsResult": {"properties": {"results": {"items": {"$ref": "#/definitions/IssuerCredRevRecord"}, "type": "array"}}, "type": "object"}, "CredRevRecordResult": {"properties": {"result": {"$ref": "#/definitions/IssuerCredRevRecord"}}, "type": "object"}, "CredRevokedResult": {"properties": {"revoked": {"description": "Whether credential is revoked on the ledger", "type": "boolean"}}, "type": "object"}, "Credential": {"properties": {"@context": {"description": "The JSON-LD context of the credential", "example": ["https://www.w3.org/2018/credentials/v1", "https://www.w3.org/2018/credentials/examples/v1"], "items": {}, "type": "array"}, "credentialSubject": {"example": {"alumniOf": {"id": "did:example:c276e12ec21ebfeb1f712ebc6f1"}, "id": "did:example:ebfeb1f712ebc6f1c276e12ec21"}}, "expirationDate": {"description": "The expiration date", "example": "2010-01-01T19:23:24Z", "pattern": "^([0-9]{4})-([0-9]{2})-([0-9]{2})([Tt ]([0-9]{2}):([0-9]{2}):([0-9]{2})(\\.[0-9]+)?)?(([Zz]|([+-])([0-9]{2}):([0-9]{2})))?$", "type": "string"}, "id": {"example": "http://example.edu/credentials/1872", "pattern": "\\w+:(\\/?\\/?)[^\\s]+", "type": "string"}, "issuanceDate": {"description": "The issuance date", "example": "2010-01-01T19:23:24Z", "pattern": "^([0-9]{4})-([0-9]{2})-([0-9]{2})([Tt ]([0-9]{2}):([0-9]{2}):([0-9]{2})(\\.[0-9]+)?)?(([Zz]|([+-])([0-9]{2}):([0-9]{2})))?$", "type": "string"}, "issuer": {"description": "The JSON-LD Verifiable Credential Issuer. Either string of object with id field.", "example": "did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH"}, "proof": {"allOf": [{"$ref": "#/definitions/LinkedDataProof"}], "description": "The proof of the credential", "example": {"created": "2019-12-11T03:50:55", "jws": "eyJhbGciOiAiRWREU0EiLCAiYjY0IjogZmFsc2UsICJjcml0JiNjQiXX0..lKJU0Df_keblRKhZAS9Qq6zybm-HqUXNVZ8vgEPNTAjQKBhQDxvXNo7nvtUBb_Eq1Ch6YBKY5qBQ", "proofPurpose": "assertionMethod", "type": "Ed25519Signature2018", "verificationMethod": "did:key:z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL#z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL"}}, "type": {"description": "The JSON-LD type of the credential", "example": ["VerifiableCredential", "AlumniCredential"], "items": {"type": "string"}, "type": "array"}}, "required": ["@context", "credentialSubject", "issuanceDate", "issuer", "type"], "type": "object"}, "CredentialDefinition": {"properties": {"id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "schemaId": {"description": "Schema identifier within credential definition identifier", "example": "20", "type": "string"}, "tag": {"description": "Tag within credential definition identifier", "example": "tag", "type": "string"}, "type": {"default": "CL", "description": "Signature type: CL for Camenisch-Lysyanskaya", "example": "CL"}, "value": {"allOf": [{"$ref": "#/definitions/CredDefValue"}], "description": "Credential definition primary and revocation values"}, "ver": {"description": "Node protocol version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}}, "type": "object"}, "CredentialDefinitionGetResult": {"properties": {"credential_definition": {"$ref": "#/definitions/CredentialDefinition"}}, "type": "object"}, "CredentialDefinitionSendRequest": {"properties": {"revocation_registry_size": {"description": "Revocation registry size", "example": 1000, "format": "int32", "maximum": 32768, "minimum": 4, "type": "integer"}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "support_revocation": {"description": "Revocation supported flag", "type": "boolean"}, "tag": {"description": "Credential definition identifier tag", "example": "default", "type": "string"}}, "type": "object"}, "CredentialDefinitionSendResult": {"properties": {"credential_definition_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}}, "type": "object"}, "CredentialDefinitionsCreatedResult": {"properties": {"credential_definition_ids": {"items": {"description": "Credential definition identifiers", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "type": "array"}}, "type": "object"}, "CredentialOffer": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "credential_preview": {"$ref": "#/definitions/CredentialPreview"}, "offers~attach": {"items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}}, "required": ["offers~attach"], "type": "object"}, "CredentialPreview": {"properties": {"@type": {"description": "Message type identifier", "example": "issue-credential/1.0/credential-preview", "type": "string"}, "attributes": {"items": {"$ref": "#/definitions/CredAttrSpec"}, "type": "array"}}, "required": ["attributes"], "type": "object"}, "CredentialProposal": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "cred_def_id": {"example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "credential_proposal": {"$ref": "#/definitions/CredentialPreview"}, "issuer_did": {"example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_id": {"example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "schema_issuer_did": {"example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_name": {"type": "string"}, "schema_version": {"example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}}, "type": "object"}, "CredentialStatusOptions": {"properties": {"type": {"description": "Credential status method type to use for the credential. Should match status method registered in the Verifiable Credential Extension Registry", "example": "CredentialStatusList2017", "type": "string"}}, "required": ["type"], "type": "object"}, "DID": {"properties": {"did": {"description": "DID of interest", "example": "did:peer:WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$|^did:([a-zA-Z0-9_]+):([a-zA-Z0-9_.%-]+(:[a-zA-Z0-9_.%-]+)*)((;[a-zA-Z0-9_.:%-]+=[a-zA-Z0-9_.:%-]*)*)(\\/[^#?]*)?([?][^#]*)?(\\#.*)?$$", "type": "string"}, "key_type": {"description": "Key type associated with the DID", "enum": ["ed25519", "bls12381g2"], "example": "ed25519", "type": "string"}, "method": {"description": "Did method associated with the DID", "example": "sov", "type": "string"}, "posture": {"description": "Whether DID is current public DID, posted to ledger but not current public DID, or local to the wallet", "enum": ["public", "posted", "wallet_only"], "example": "wallet_only", "type": "string"}, "verkey": {"description": "Public verification key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}}, "type": "object"}, "DIDCreate": {"properties": {"method": {"description": "Method for the requested DID.Supported methods are 'key', 'sov', and any other registered method.", "example": "sov", "type": "string"}, "options": {"allOf": [{"$ref": "#/definitions/DIDCreateOptions"}], "description": "To define a key type and/or a did depending on chosen DID method."}, "seed": {"description": "Optional seed to use for DID, Must beenabled in configuration before use.", "example": "000000000000000000000000Trustee1", "type": "string"}}, "type": "object"}, "DIDCreateOptions": {"properties": {"did": {"description": "Specify final value of the did (including did:: prefix)if the method supports or requires so.", "example": "did:peer:WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$|^did:([a-zA-Z0-9_]+):([a-zA-Z0-9_.%-]+(:[a-zA-Z0-9_.%-]+)*)((;[a-zA-Z0-9_.:%-]+=[a-zA-Z0-9_.:%-]*)*)(\\/[^#?]*)?([?][^#]*)?(\\#.*)?$$", "type": "string"}, "key_type": {"description": "Key type to use for the DID keypair. Validated with the chosen DID method's supported key types.", "enum": ["ed25519", "bls12381g2"], "example": "ed25519", "type": "string"}}, "required": ["key_type"], "type": "object"}, "DIDEndpoint": {"properties": {"did": {"description": "DID of interest", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "endpoint": {"description": "Endpoint to set (omit to delete)", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}}, "required": ["did"], "type": "object"}, "DIDEndpointWithType": {"properties": {"did": {"description": "DID of interest", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "endpoint": {"description": "Endpoint to set (omit to delete)", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}, "endpoint_type": {"description": "Endpoint type to set (default 'Endpoint'); affects only public or posted DIDs", "enum": ["Endpoint", "Profile", "LinkedDomains"], "example": "Endpoint", "type": "string"}}, "required": ["did"], "type": "object"}, "DIDList": {"properties": {"results": {"description": "DID list", "items": {"$ref": "#/definitions/DID"}, "type": "array"}}, "type": "object"}, "DIDResult": {"properties": {"result": {"$ref": "#/definitions/DID"}}, "type": "object"}, "DIDXRequest": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "did": {"description": "DID of exchange", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "did_doc~attach": {"allOf": [{"$ref": "#/definitions/AttachDecorator"}], "description": "As signed attachment, DID Doc associated with DID"}, "label": {"description": "Label for DID exchange request", "example": "Request to connect with Bob", "type": "string"}}, "required": ["label"], "type": "object"}, "DIFField": {"properties": {"filter": {"$ref": "#/definitions/Filter"}, "id": {"description": "ID", "type": "string"}, "path": {"items": {"description": "Path", "type": "string"}, "type": "array"}, "predicate": {"description": "Preference", "enum": ["required", "preferred"], "type": "string"}, "purpose": {"description": "Purpose", "type": "string"}}, "type": "object"}, "DIFHolder": {"properties": {"directive": {"description": "Preference", "enum": ["required", "preferred"], "type": "string"}, "field_id": {"items": {"description": "FieldID", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "type": "string"}, "type": "array"}}, "type": "object"}, "DIFOptions": {"properties": {"challenge": {"description": "Challenge protect against replay attack", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "type": "string"}, "domain": {"description": "Domain protect against replay attack", "example": "4jt78h47fh47", "type": "string"}}, "type": "object"}, "DIFPresSpec": {"properties": {"issuer_id": {"description": "Issuer identifier to sign the presentation, if different from current public DID", "type": "string"}, "presentation_definition": {"$ref": "#/definitions/PresentationDefinition"}, "record_ids": {"description": "Mapping of input_descriptor id to list of stored W3C credential record_id", "example": {"": ["", ""], "": [""]}, "type": "object"}, "reveal_doc": {"description": "reveal doc [JSON-LD frame] dict used to derive the credential when selective disclosure is required", "example": {"@context": ["https://www.w3.org/2018/credentials/v1", "https://w3id.org/security/bbs/v1"], "@explicit": true, "@requireAll": true, "credentialSubject": {"@explicit": true, "@requireAll": true, "Observation": [{"effectiveDateTime": {}, "@explicit": true, "@requireAll": true}]}, "issuanceDate": {}, "issuer": {}, "type": ["VerifiableCredential", "LabReport"]}, "type": "object"}}, "type": "object"}, "DIFProofProposal": {"properties": {"input_descriptors": {"items": {"$ref": "#/definitions/InputDescriptors"}, "type": "array"}, "options": {"$ref": "#/definitions/DIFOptions"}}, "type": "object"}, "DIFProofRequest": {"properties": {"options": {"$ref": "#/definitions/DIFOptions"}, "presentation_definition": {"$ref": "#/definitions/PresentationDefinition"}}, "required": ["presentation_definition"], "type": "object"}, "Date": {"properties": {"expires_time": {"description": "Expiry Date", "example": "2021-03-29T05:22:19Z", "format": "date-time", "type": "string"}}, "required": ["expires_time"], "type": "object"}, "Disclose": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "protocols": {"description": "List of protocol descriptors", "items": {"$ref": "#/definitions/ProtocolDescriptor"}, "type": "array"}}, "required": ["protocols"], "type": "object"}, "Disclosures": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "disclosures": {"description": "List of protocol or goal_code descriptors", "items": {}, "type": "array"}}, "required": ["disclosures"], "type": "object"}, "Doc": {"properties": {"credential": {"description": "Credential to sign", "type": "object"}, "options": {"allOf": [{"$ref": "#/definitions/SignatureOptions"}], "description": "Signature options"}}, "required": ["credential", "options"], "type": "object"}, "EndorserInfo": {"properties": {"endorser_did": {"description": "Endorser DID", "type": "string"}, "endorser_name": {"description": "Endorser Name", "type": "string"}}, "required": ["endorser_did"], "type": "object"}, "EndpointsResult": {"properties": {"my_endpoint": {"description": "My endpoint", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}, "their_endpoint": {"description": "Their endpoint", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}}, "type": "object"}, "Filter": {"properties": {"const": {"description": "Const"}, "enum": {"items": {"description": "Enum"}, "type": "array"}, "exclusiveMaximum": {"description": "ExclusiveMaximum"}, "exclusiveMinimum": {"description": "ExclusiveMinimum"}, "format": {"description": "Format", "type": "string"}, "maxLength": {"description": "Max Length", "example": 1234, "format": "int32", "type": "integer"}, "maximum": {"description": "Maximum"}, "minLength": {"description": "Min Length", "example": 1234, "format": "int32", "type": "integer"}, "minimum": {"description": "Minimum"}, "not": {"description": "Not", "example": false, "type": "boolean"}, "pattern": {"description": "Pattern", "type": "string"}, "type": {"description": "Type", "type": "string"}}, "type": "object"}, "Generated": {"properties": {"master_secret": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "number": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "remainder": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}}, "type": "object"}, "GetDIDEndpointResponse": {"properties": {"endpoint": {"description": "Full verification key", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string", "x-nullable": true}}, "type": "object"}, "GetDIDVerkeyResponse": {"properties": {"verkey": {"description": "Full verification key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string", "x-nullable": true}}, "type": "object"}, "GetNymRoleResponse": {"properties": {"role": {"description": "Ledger role", "enum": ["STEWARD", "TRUSTEE", "ENDORSER", "NETWORK_MONITOR", "USER", "ROLE_REMOVE"], "example": "ENDORSER", "type": "string"}}, "type": "object"}, "HolderModuleResponse": {"properties": {}, "type": "object"}, "IndyAttrValue": {"properties": {"encoded": {"description": "Attribute encoded value", "example": "-1", "pattern": "^-?[0-9]*$", "type": "string"}, "raw": {"description": "Attribute raw value", "type": "string"}}, "required": ["encoded", "raw"], "type": "object"}, "IndyCredAbstract": {"properties": {"cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "key_correctness_proof": {"allOf": [{"$ref": "#/definitions/IndyKeyCorrectnessProof"}], "description": "Key correctness proof"}, "nonce": {"description": "Nonce in credential abstract", "example": "0", "pattern": "^[0-9]*$", "type": "string"}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}}, "required": ["cred_def_id", "key_correctness_proof", "nonce", "schema_id"], "type": "object"}, "IndyCredInfo": {"properties": {"attrs": {"additionalProperties": {"example": "alice", "type": "string"}, "description": "Attribute names and value", "type": "object"}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "cred_rev_id": {"description": "Credential revocation identifier", "example": "12345", "pattern": "^[1-9][0-9]*$", "type": "string", "x-nullable": true}, "referent": {"description": "Wallet referent", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "rev_reg_id": {"description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string", "x-nullable": true}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}}, "type": "object"}, "IndyCredPrecis": {"properties": {"cred_info": {"allOf": [{"$ref": "#/definitions/IndyCredInfo"}], "description": "Credential info"}, "interval": {"allOf": [{"$ref": "#/definitions/IndyNonRevocationInterval"}], "description": "Non-revocation interval from presentation request"}, "presentation_referents": {"items": {"description": "presentation referent", "example": "1_age_uuid", "type": "string"}, "type": "array"}}, "type": "object"}, "IndyCredRequest": {"properties": {"blinded_ms": {"description": "Blinded master secret", "type": "object"}, "blinded_ms_correctness_proof": {"description": "Blinded master secret correctness proof", "type": "object"}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "nonce": {"description": "Nonce in credential request", "example": "0", "pattern": "^[0-9]*$", "type": "string"}, "prover_did": {"description": "Prover DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}}, "required": ["blinded_ms", "blinded_ms_correctness_proof", "cred_def_id", "nonce", "prover_did"], "type": "object"}, "IndyCredential": {"properties": {"cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "rev_reg": {"description": "Revocation registry state", "type": "object", "x-nullable": true}, "rev_reg_id": {"description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string", "x-nullable": true}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "signature": {"description": "Credential signature", "type": "object"}, "signature_correctness_proof": {"description": "Credential signature correctness proof", "type": "object"}, "values": {"additionalProperties": {"allOf": [{"$ref": "#/definitions/IndyAttrValue"}], "description": "Attribute value"}, "description": "Credential attributes", "type": "object"}, "witness": {"description": "Witness for revocation proof", "type": "object", "x-nullable": true}}, "required": ["cred_def_id", "schema_id", "signature", "signature_correctness_proof", "values"], "type": "object"}, "IndyEQProof": {"properties": {"a_prime": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "e": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "m": {"additionalProperties": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "type": "object"}, "m2": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "revealed_attrs": {"additionalProperties": {"example": "-1", "pattern": "^-?[0-9]*$", "type": "string"}, "type": "object"}, "v": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}}, "type": "object"}, "IndyGEProof": {"properties": {"alpha": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "mj": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "predicate": {"$ref": "#/definitions/IndyGEProofPred"}, "r": {"additionalProperties": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "type": "object"}, "t": {"additionalProperties": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "type": "object"}, "u": {"additionalProperties": {"example": "0", "pattern": "^[0-9]*$", "type": "string"}, "type": "object"}}, "type": "object"}, "IndyGEProofPred": {"properties": {"attr_name": {"description": "Attribute name, indy-canonicalized", "type": "string"}, "p_type": {"description": "Predicate type", "enum": ["LT", "LE", "GE", "GT"], "type": "string"}, "value": {"description": "Predicate threshold value", "format": "int32", "type": "integer"}}, "type": "object"}, "IndyKeyCorrectnessProof": {"properties": {"c": {"description": "c in key correctness proof", "example": "0", "pattern": "^[0-9]*$", "type": "string"}, "xr_cap": {"description": "xr_cap in key correctness proof", "items": {"description": "xr_cap components in key correctness proof", "items": {"description": "xr_cap component values in key correctness proof", "type": "string"}, "type": "array"}, "type": "array"}, "xz_cap": {"description": "xz_cap in key correctness proof", "example": "0", "pattern": "^[0-9]*$", "type": "string"}}, "required": ["c", "xr_cap", "xz_cap"], "type": "object"}, "IndyNonRevocProof": {"properties": {"c_list": {"additionalProperties": {"type": "string"}, "type": "object"}, "x_list": {"additionalProperties": {"type": "string"}, "type": "object"}}, "type": "object"}, "IndyNonRevocationInterval": {"properties": {"from": {"description": "Earliest time of interest in non-revocation interval", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}, "to": {"description": "Latest time of interest in non-revocation interval", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}}, "type": "object"}, "IndyPresAttrSpec": {"properties": {"cred_def_id": {"example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "mime-type": {"description": "MIME type (default null)", "example": "image/jpeg", "type": "string"}, "name": {"description": "Attribute name", "example": "favourite_drink", "type": "string"}, "referent": {"description": "Credential referent", "example": "0", "type": "string"}, "value": {"description": "Attribute value", "example": "martini", "type": "string"}}, "required": ["name"], "type": "object"}, "IndyPresPredSpec": {"properties": {"cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "name": {"description": "Attribute name", "example": "high_score", "type": "string"}, "predicate": {"description": "Predicate type ('<', '<=', '>=', or '>')", "enum": ["<", "<=", ">=", ">"], "example": ">=", "type": "string"}, "threshold": {"description": "Threshold value", "format": "int32", "type": "integer"}}, "required": ["name", "predicate", "threshold"], "type": "object"}, "IndyPresPreview": {"properties": {"@type": {"description": "Message type identifier", "example": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/present-proof/1.0/presentation-preview", "type": "string"}, "attributes": {"items": {"$ref": "#/definitions/IndyPresAttrSpec"}, "type": "array"}, "predicates": {"items": {"$ref": "#/definitions/IndyPresPredSpec"}, "type": "array"}}, "required": ["attributes", "predicates"], "type": "object"}, "IndyPresSpec": {"properties": {"requested_attributes": {"additionalProperties": {"$ref": "#/definitions/IndyRequestedCredsRequestedAttr"}, "description": "Nested object mapping proof request attribute referents to requested-attribute specifiers", "type": "object"}, "requested_predicates": {"additionalProperties": {"$ref": "#/definitions/IndyRequestedCredsRequestedPred"}, "description": "Nested object mapping proof request predicate referents to requested-predicate specifiers", "type": "object"}, "self_attested_attributes": {"additionalProperties": {"description": "Self-attested attribute values to use in requested-credentials structure for proof construction", "example": "self_attested_value", "type": "string"}, "description": "Self-attested attributes to build into proof", "type": "object"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "required": ["requested_attributes", "requested_predicates", "self_attested_attributes"], "type": "object"}, "IndyPrimaryProof": {"properties": {"eq_proof": {"allOf": [{"$ref": "#/definitions/IndyEQProof"}], "description": "Indy equality proof", "x-nullable": true}, "ge_proofs": {"description": "Indy GE proofs", "items": {"$ref": "#/definitions/IndyGEProof"}, "type": "array", "x-nullable": true}}, "type": "object"}, "IndyProof": {"properties": {"identifiers": {"description": "Indy proof.identifiers content", "items": {"$ref": "#/definitions/IndyProofIdentifier"}, "type": "array"}, "proof": {"allOf": [{"$ref": "#/definitions/IndyProofProof"}], "description": "Indy proof.proof content"}, "requested_proof": {"allOf": [{"$ref": "#/definitions/IndyProofRequestedProof"}], "description": "Indy proof.requested_proof content"}}, "type": "object"}, "IndyProofIdentifier": {"properties": {"cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "rev_reg_id": {"description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string", "x-nullable": true}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "timestamp": {"description": "Timestamp epoch", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer", "x-nullable": true}}, "type": "object"}, "IndyProofProof": {"properties": {"aggregated_proof": {"allOf": [{"$ref": "#/definitions/IndyProofProofAggregatedProof"}], "description": "Indy proof aggregated proof"}, "proofs": {"description": "Indy proof proofs", "items": {"$ref": "#/definitions/IndyProofProofProofsProof"}, "type": "array"}}, "type": "object"}, "IndyProofProofAggregatedProof": {"properties": {"c_hash": {"description": "c_hash value", "type": "string"}, "c_list": {"description": "c_list value", "items": {"items": {"format": "int32", "type": "integer"}, "type": "array"}, "type": "array"}}, "type": "object"}, "IndyProofProofProofsProof": {"properties": {"non_revoc_proof": {"allOf": [{"$ref": "#/definitions/IndyNonRevocProof"}], "description": "Indy non-revocation proof", "x-nullable": true}, "primary_proof": {"allOf": [{"$ref": "#/definitions/IndyPrimaryProof"}], "description": "Indy primary proof"}}, "type": "object"}, "IndyProofReqAttrSpec": {"properties": {"name": {"description": "Attribute name", "example": "favouriteDrink", "type": "string"}, "names": {"description": "Attribute name group", "items": {"example": "age", "type": "string"}, "type": "array"}, "non_revoked": {"allOf": [{"$ref": "#/definitions/IndyProofReqAttrSpecNonRevoked"}], "x-nullable": true}, "restrictions": {"description": "If present, credential must satisfy one of given restrictions: specify schema_id, schema_issuer_did, schema_name, schema_version, issuer_did, cred_def_id, and/or attr::::value where represents a credential attribute name", "items": {"additionalProperties": {"example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "type": "string"}, "type": "object"}, "type": "array"}}, "type": "object"}, "IndyProofReqAttrSpecNonRevoked": {"properties": {"from": {"description": "Earliest time of interest in non-revocation interval", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}, "to": {"description": "Latest time of interest in non-revocation interval", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}}, "type": "object"}, "IndyProofReqPredSpec": {"properties": {"name": {"description": "Attribute name", "example": "index", "type": "string"}, "non_revoked": {"allOf": [{"$ref": "#/definitions/IndyProofReqPredSpecNonRevoked"}], "x-nullable": true}, "p_type": {"description": "Predicate type ('<', '<=', '>=', or '>')", "enum": ["<", "<=", ">=", ">"], "example": ">=", "type": "string"}, "p_value": {"description": "Threshold value", "format": "int32", "type": "integer"}, "restrictions": {"description": "If present, credential must satisfy one of given restrictions: specify schema_id, schema_issuer_did, schema_name, schema_version, issuer_did, cred_def_id, and/or attr::::value where represents a credential attribute name", "items": {"additionalProperties": {"example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "type": "string"}, "type": "object"}, "type": "array"}}, "required": ["name", "p_type", "p_value"], "type": "object"}, "IndyProofReqPredSpecNonRevoked": {"properties": {"from": {"description": "Earliest time of interest in non-revocation interval", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}, "to": {"description": "Latest time of interest in non-revocation interval", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}}, "type": "object"}, "IndyProofRequest": {"properties": {"name": {"description": "Proof request name", "example": "Proof request", "type": "string"}, "non_revoked": {"allOf": [{"$ref": "#/definitions/IndyProofRequestNonRevoked"}], "x-nullable": true}, "nonce": {"description": "Nonce", "example": "1", "pattern": "^[1-9][0-9]*$", "type": "string"}, "requested_attributes": {"additionalProperties": {"$ref": "#/definitions/IndyProofReqAttrSpec"}, "description": "Requested attribute specifications of proof request", "type": "object"}, "requested_predicates": {"additionalProperties": {"$ref": "#/definitions/IndyProofReqPredSpec"}, "description": "Requested predicate specifications of proof request", "type": "object"}, "version": {"description": "Proof request version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}}, "required": ["requested_attributes", "requested_predicates"], "type": "object"}, "IndyProofRequestNonRevoked": {"properties": {"from": {"description": "Earliest time of interest in non-revocation interval", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}, "to": {"description": "Latest time of interest in non-revocation interval", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}}, "type": "object"}, "IndyProofRequestedProof": {"properties": {"predicates": {"additionalProperties": {"$ref": "#/definitions/IndyProofRequestedProofPredicate"}, "description": "Proof requested proof predicates.", "type": "object"}, "revealed_attr_groups": {"additionalProperties": {"$ref": "#/definitions/IndyProofRequestedProofRevealedAttrGroup"}, "description": "Proof requested proof revealed attribute groups", "type": "object", "x-nullable": true}, "revealed_attrs": {"additionalProperties": {"$ref": "#/definitions/IndyProofRequestedProofRevealedAttr"}, "description": "Proof requested proof revealed attributes", "type": "object", "x-nullable": true}, "self_attested_attrs": {"description": "Proof requested proof self-attested attributes", "type": "object"}, "unrevealed_attrs": {"description": "Unrevealed attributes", "type": "object"}}, "type": "object"}, "IndyProofRequestedProofPredicate": {"properties": {"sub_proof_index": {"description": "Sub-proof index", "format": "int32", "type": "integer"}}, "type": "object"}, "IndyProofRequestedProofRevealedAttr": {"properties": {"encoded": {"description": "Encoded value", "example": "-1", "pattern": "^-?[0-9]*$", "type": "string"}, "raw": {"description": "Raw value", "type": "string"}, "sub_proof_index": {"description": "Sub-proof index", "format": "int32", "type": "integer"}}, "type": "object"}, "IndyProofRequestedProofRevealedAttrGroup": {"properties": {"sub_proof_index": {"description": "Sub-proof index", "format": "int32", "type": "integer"}, "values": {"additionalProperties": {"$ref": "#/definitions/RawEncoded"}, "description": "Indy proof requested proof revealed attr groups group value", "type": "object"}}, "type": "object"}, "IndyRequestedCredsRequestedAttr": {"properties": {"cred_id": {"description": "Wallet credential identifier (typically but not necessarily a UUID)", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "revealed": {"description": "Whether to reveal attribute in proof (default true)", "type": "boolean"}}, "required": ["cred_id"], "type": "object"}, "IndyRequestedCredsRequestedPred": {"properties": {"cred_id": {"description": "Wallet credential identifier (typically but not necessarily a UUID)", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "timestamp": {"description": "Epoch timestamp of interest for non-revocation proof", "example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}}, "required": ["cred_id"], "type": "object"}, "IndyRevRegDef": {"properties": {"credDefId": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "id": {"description": "Indy revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string"}, "revocDefType": {"description": "Revocation registry type (specify CL_ACCUM)", "enum": ["CL_ACCUM"], "example": "CL_ACCUM", "type": "string"}, "tag": {"description": "Revocation registry tag", "type": "string"}, "value": {"allOf": [{"$ref": "#/definitions/IndyRevRegDefValue"}], "description": "Revocation registry definition value"}, "ver": {"description": "Version of revocation registry definition", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}}, "type": "object"}, "IndyRevRegDefValue": {"properties": {"issuanceType": {"description": "Issuance type", "enum": ["ISSUANCE_ON_DEMAND", "ISSUANCE_BY_DEFAULT"], "type": "string"}, "maxCredNum": {"description": "Maximum number of credentials; registry size", "example": 10, "format": "int32", "minimum": 1, "type": "integer"}, "publicKeys": {"allOf": [{"$ref": "#/definitions/IndyRevRegDefValuePublicKeys"}], "description": "Public keys"}, "tailsHash": {"description": "Tails hash value", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "tailsLocation": {"description": "Tails file location", "type": "string"}}, "type": "object"}, "IndyRevRegDefValuePublicKeys": {"properties": {"accumKey": {"$ref": "#/definitions/IndyRevRegDefValuePublicKeysAccumKey"}}, "type": "object"}, "IndyRevRegDefValuePublicKeysAccumKey": {"properties": {"z": {"description": "Value for z", "example": "1 120F522F81E6B7 1 09F7A59005C4939854", "type": "string"}}, "type": "object"}, "IndyRevRegEntry": {"properties": {"value": {"allOf": [{"$ref": "#/definitions/IndyRevRegEntryValue"}], "description": "Revocation registry entry value"}, "ver": {"description": "Version of revocation registry entry", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}}, "type": "object"}, "IndyRevRegEntryValue": {"properties": {"accum": {"description": "Accumulator value", "example": "21 11792B036AED0AAA12A4 4 298B2571FFC63A737", "type": "string"}, "prevAccum": {"description": "Previous accumulator value", "example": "21 137AC810975E4 6 76F0384B6F23", "type": "string"}, "revoked": {"description": "Revoked credential revocation identifiers", "items": {"format": "int32", "type": "integer"}, "type": "array"}}, "type": "object"}, "InputDescriptors": {"properties": {"constraints": {"$ref": "#/definitions/Constraints"}, "group": {"items": {"description": "Group", "type": "string"}, "type": "array"}, "id": {"description": "ID", "type": "string"}, "metadata": {"description": "Metadata dictionary", "type": "object"}, "name": {"description": "Name", "type": "string"}, "purpose": {"description": "Purpose", "type": "string"}, "schema": {"allOf": [{"$ref": "#/definitions/SchemasInputDescriptorFilter"}], "description": "Accepts a list of schema or a dict containing filters like oneof_filter.", "example": {"oneof_filter": [[{"uri": "https://www.w3.org/Test1#Test1"}, {"uri": "https://www.w3.org/Test2#Test2"}], {"oneof_filter": [[{"uri": "https://www.w3.org/Test1#Test1"}], [{"uri": "https://www.w3.org/Test2#Test2"}]]}]}}}, "type": "object"}, "IntroModuleResponse": {"properties": {}, "type": "object"}, "InvitationCreateRequest": {"properties": {"accept": {"description": "List of mime type in order of preference that should be use in responding to the message", "example": ["didcomm/aip1", "didcomm/aip2;env=rfc19"], "items": {"type": "string"}, "type": "array"}, "alias": {"description": "Alias for connection", "example": "Barry", "type": "string"}, "attachments": {"description": "Optional invitation attachments", "items": {"$ref": "#/definitions/AttachmentDef"}, "type": "array"}, "handshake_protocols": {"items": {"description": "Handshake protocol to specify in invitation", "example": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/didexchange/1.0", "type": "string"}, "type": "array"}, "mediation_id": {"description": "Identifier for active mediation record to be used", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "type": "string"}, "metadata": {"description": "Optional metadata to attach to the connection created with the invitation", "type": "object"}, "my_label": {"description": "Label for connection invitation", "example": "Invitation to Barry", "type": "string"}, "protocol_version": {"description": "OOB protocol version", "example": "1.1", "type": "string"}, "use_public_did": {"description": "Whether to use public DID in invitation", "example": false, "type": "boolean"}}, "type": "object"}, "InvitationMessage": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "type": "string"}, "accept": {"description": "List of mime type in order of preference", "example": ["didcomm/aip1", "didcomm/aip2;env=rfc19"], "items": {"type": "string"}, "type": "array"}, "handshake_protocols": {"items": {"description": "Handshake protocol", "example": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/didexchange/1.0", "type": "string"}, "type": "array"}, "imageUrl": {"description": "Optional image URL for out-of-band invitation", "example": "http://192.168.56.101/img/logo.jpg", "format": "url", "type": "string", "x-nullable": true}, "label": {"description": "Optional label", "example": "Bob", "type": "string"}, "requests~attach": {"description": "Optional request attachment", "items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}, "services": {"example": [{"did": "WgWxqztrNooG92RXvxSTWv", "id": "string", "recipientKeys": ["did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH"], "routingKeys": ["did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH"], "serviceEndpoint": "http://192.168.56.101:8020", "type": "string"}, "did:sov:WgWxqztrNooG92RXvxSTWv"], "items": {"description": "Either a DIDComm service object (as per RFC0067) or a DID string."}, "type": "array"}}, "type": "object"}, "InvitationRecord": {"properties": {"created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "invi_msg_id": {"description": "Invitation message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "invitation": {"allOf": [{"$ref": "#/definitions/InvitationMessage"}], "description": "Out of band invitation message"}, "invitation_id": {"description": "Invitation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "invitation_url": {"description": "Invitation message URL", "example": "https://example.com/endpoint?c_i=eyJAdHlwZSI6ICIuLi4iLCAiLi4uIjogIi4uLiJ9XX0=", "type": "string"}, "oob_id": {"description": "Out of band record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "state": {"description": "Out of band message exchange state", "example": "await_response", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "InvitationResult": {"properties": {"connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "invitation": {"$ref": "#/definitions/ConnectionInvitation"}, "invitation_url": {"description": "Invitation URL", "example": "http://192.168.56.101:8020/invite?c_i=eyJAdHlwZSI6Li4ufQ==", "type": "string"}}, "type": "object"}, "IssueCredentialModuleResponse": {"properties": {}, "type": "object"}, "IssuerCredRevRecord": {"properties": {"created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "cred_ex_id": {"description": "Credential exchange record identifier at credential issue", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "cred_ex_version": {"description": "Credential exchange version", "type": "string"}, "cred_rev_id": {"description": "Credential revocation identifier", "example": "12345", "pattern": "^[1-9][0-9]*$", "type": "string"}, "record_id": {"description": "Issuer credential revocation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "rev_reg_id": {"description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string"}, "state": {"description": "Issue credential revocation record state", "example": "issued", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "IssuerRevRegRecord": {"properties": {"created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "error_msg": {"description": "Error message", "example": "Revocation registry undefined", "type": "string"}, "issuer_did": {"description": "Issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "max_cred_num": {"description": "Maximum number of credentials for revocation registry", "example": 1000, "format": "int32", "type": "integer"}, "pending_pub": {"description": "Credential revocation identifier for credential revoked and pending publication to ledger", "items": {"example": "23", "type": "string"}, "type": "array"}, "record_id": {"description": "Issuer revocation registry record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "revoc_def_type": {"description": "Revocation registry type (specify CL_ACCUM)", "enum": ["CL_ACCUM"], "example": "CL_ACCUM", "type": "string"}, "revoc_reg_def": {"allOf": [{"$ref": "#/definitions/IndyRevRegDef"}], "description": "Revocation registry definition"}, "revoc_reg_entry": {"allOf": [{"$ref": "#/definitions/IndyRevRegEntry"}], "description": "Revocation registry entry"}, "revoc_reg_id": {"description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string"}, "state": {"description": "Issue revocation registry record state", "example": "active", "type": "string"}, "tag": {"description": "Tag within issuer revocation registry identifier", "type": "string"}, "tails_hash": {"description": "Tails hash", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "tails_local_path": {"description": "Local path to tails file", "type": "string"}, "tails_public_uri": {"description": "Public URI for tails file", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "Keylist": {"properties": {"results": {"description": "List of keylist records", "items": {"$ref": "#/definitions/RouteRecord"}, "type": "array"}}, "type": "object"}, "KeylistQuery": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "filter": {"description": "Query dictionary object", "example": {"filter": {}}, "type": "object"}, "paginate": {"allOf": [{"$ref": "#/definitions/KeylistQueryPaginate"}], "description": "Pagination info"}}, "type": "object"}, "KeylistQueryFilterRequest": {"properties": {"filter": {"description": "Filter for keylist query", "type": "object"}}, "type": "object"}, "KeylistQueryPaginate": {"properties": {"limit": {"description": "Limit for keylist query", "example": 30, "format": "int32", "type": "integer"}, "offset": {"description": "Offset value for query", "example": 0, "format": "int32", "type": "integer"}}, "type": "object"}, "KeylistUpdate": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "updates": {"description": "List of update rules", "items": {"$ref": "#/definitions/KeylistUpdateRule"}, "type": "array"}}, "type": "object"}, "KeylistUpdateRequest": {"properties": {"updates": {"items": {"$ref": "#/definitions/KeylistUpdateRule"}, "type": "array"}}, "type": "object"}, "KeylistUpdateRule": {"properties": {"action": {"description": "Action for specific key", "enum": ["add", "remove"], "example": "add", "type": "string"}, "recipient_key": {"description": "Key to remove or add", "example": "did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH", "pattern": "^did:key:z[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+$|^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}}, "required": ["action", "recipient_key"], "type": "object"}, "LDProofVCDetail": {"properties": {"credential": {"allOf": [{"$ref": "#/definitions/Credential"}], "description": "Detail of the JSON-LD Credential to be issued", "example": {"@context": ["https://www.w3.org/2018/credentials/v1", "https://w3id.org/citizenship/v1"], "credentialSubject": {"familyName": "SMITH", "gender": "Male", "givenName": "JOHN", "type": ["PermanentResident", "Person"]}, "description": "Government of Example Permanent Resident Card.", "identifier": "83627465", "issuanceDate": "2019-12-03T12:19:52Z", "issuer": "did:key:z6MkmjY8GnV5i9YTDtPETC2uUAW6ejw3nk5mXF5yci5ab7th", "name": "Permanent Resident Card", "type": ["VerifiableCredential", "PermanentResidentCard"]}}, "options": {"allOf": [{"$ref": "#/definitions/LDProofVCDetailOptions"}], "description": "Options for specifying how the linked data proof is created.", "example": {"proofType": "Ed25519Signature2018"}}}, "required": ["credential", "options"], "type": "object"}, "LDProofVCDetailOptions": {"properties": {"challenge": {"description": "A challenge to include in the proof. SHOULD be provided by the requesting party of the credential (=holder)", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created": {"description": "The date and time of the proof (with a maximum accuracy in seconds). Defaults to current system time", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "credentialStatus": {"allOf": [{"$ref": "#/definitions/CredentialStatusOptions"}], "description": "The credential status mechanism to use for the credential. Omitting the property indicates the issued credential will not include a credential status"}, "domain": {"description": "The intended domain of validity for the proof", "example": "example.com", "type": "string"}, "proofPurpose": {"description": "The proof purpose used for the proof. Should match proof purposes registered in the Linked Data Proofs Specification", "example": "assertionMethod", "type": "string"}, "proofType": {"description": "The proof type used for the proof. Should match suites registered in the Linked Data Cryptographic Suite Registry", "example": "Ed25519Signature2018", "type": "string"}}, "required": ["proofType"], "type": "object"}, "LedgerConfigInstance": {"properties": {"genesis_file": {"description": "genesis_file", "type": "string"}, "genesis_transactions": {"description": "genesis_transactions", "type": "string"}, "genesis_url": {"description": "genesis_url", "type": "string"}, "id": {"description": "ledger_id", "type": "string"}, "is_production": {"description": "is_production", "type": "boolean"}}, "type": "object"}, "LedgerConfigList": {"properties": {"ledger_config_list": {"items": {"$ref": "#/definitions/LedgerConfigInstance"}, "type": "array"}}, "required": ["ledger_config_list"], "type": "object"}, "LedgerModulesResult": {"properties": {}, "type": "object"}, "LinkedDataProof": {"properties": {"challenge": {"description": "Associates a challenge with a proof, for use with a proofPurpose such as authentication", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created": {"description": "The string value of an ISO8601 combined date and time string generated by the Signature Algorithm", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "domain": {"description": "A string value specifying the restricted domain of the signature.", "example": "example.com", "pattern": "\\w+:(\\/?\\/?)[^\\s]+", "type": "string"}, "jws": {"description": "Associates a Detached Json Web Signature with a proof", "example": "eyJhbGciOiAiRWREUc2UsICJjcml0IjogWyJiNjQiXX0..lKJU0Df_keblRKhZAS9Qq6zybm-HqUXNVZ8vgEPNTAjQ1Ch6YBKY7UBAjg6iBX5qBQ", "type": "string"}, "nonce": {"description": "The nonce", "example": "CF69iO3nfvqRsRBNElE8b4wO39SyJHPM7Gg1nExltW5vSfQA1lvDCR/zXX1To0/4NLo==", "type": "string"}, "proofPurpose": {"description": "Proof purpose", "example": "assertionMethod", "type": "string"}, "proofValue": {"description": "The proof value of a proof", "example": "sy1AahqbzJQ63n9RtekmwzqZeVj494VppdAVJBnMYrTwft6cLJJGeTSSxCCJ6HKnRtwE7jjDh6sB2z2AAiZY9BBnCD8wUVgwqH3qchGRCuC2RugA4eQ9fUrR4Yuycac3caiaaay", "type": "string"}, "type": {"description": "Identifies the digital signature suite that was used to create the signature", "example": "Ed25519Signature2018", "type": "string"}, "verificationMethod": {"description": "Information used for proof verification", "example": "did:key:z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL#z6Mkgg342Ycpuk263R9d8Aq6MUaxPn1DDeHyGo38EefXmgDL", "pattern": "\\w+:(\\/?\\/?)[^\\s]+", "type": "string"}}, "required": ["created", "proofPurpose", "type", "verificationMethod"], "type": "object"}, "MediationCreateRequest": {"properties": {"mediator_terms": {"description": "List of mediator rules for recipient", "items": {"description": "Indicate terms to which the mediator requires the recipient to agree", "type": "string"}, "type": "array"}, "recipient_terms": {"description": "List of recipient rules for mediation", "items": {"description": "Indicate terms to which the recipient requires the mediator to agree", "type": "string"}, "type": "array"}}, "type": "object"}, "MediationDeny": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "mediator_terms": {"items": {"description": "Terms for mediator to agree", "type": "string"}, "type": "array"}, "recipient_terms": {"items": {"description": "Terms for recipient to agree", "type": "string"}, "type": "array"}}, "type": "object"}, "MediationGrant": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "endpoint": {"description": "endpoint on which messages destined for the recipient are received.", "example": "http://192.168.56.102:8020/", "type": "string"}, "routing_keys": {"items": {"description": "Keys to use for forward message packaging", "type": "string"}, "type": "array"}}, "type": "object"}, "MediationIdMatchInfo": {"properties": {"mediation_id": {"description": "Mediation record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}}, "type": "object"}, "MediationList": {"properties": {"results": {"description": "List of mediation records", "items": {"$ref": "#/definitions/MediationRecord"}, "type": "array"}}, "type": "object"}, "MediationRecord": {"properties": {"connection_id": {"type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "endpoint": {"type": "string"}, "mediation_id": {"type": "string"}, "mediator_terms": {"items": {"type": "string"}, "type": "array"}, "recipient_terms": {"items": {"type": "string"}, "type": "array"}, "role": {"type": "string"}, "routing_keys": {"items": {"example": "did:key:z6MkpTHR8VNsBxYAAWHut2Geadd9jSwuBV8xRoAnwWsdvktH", "pattern": "^did:key:z[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+$", "type": "string"}, "type": "array"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "required": ["connection_id", "role"], "type": "object"}, "Menu": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "description": {"description": "Introductory text for the menu", "example": "This menu presents options", "type": "string"}, "errormsg": {"description": "An optional error message to display in menu header", "example": "Error: item not found", "type": "string"}, "options": {"description": "List of menu options", "items": {"$ref": "#/definitions/MenuOption"}, "type": "array"}, "title": {"description": "Menu title", "example": "My Menu", "type": "string"}}, "required": ["options"], "type": "object"}, "MenuForm": {"properties": {"description": {"description": "Additional descriptive text for menu form", "example": "Window preference settings", "type": "string"}, "params": {"description": "List of form parameters", "items": {"$ref": "#/definitions/MenuFormParam"}, "type": "array"}, "submit-label": {"description": "Alternative label for form submit button", "example": "Send", "type": "string"}, "title": {"description": "Menu form title", "example": "Preferences", "type": "string"}}, "type": "object"}, "MenuFormParam": {"properties": {"default": {"description": "Default parameter value", "example": "0", "type": "string"}, "description": {"description": "Additional descriptive text for menu form parameter", "example": "Delay in seconds before starting", "type": "string"}, "name": {"description": "Menu parameter name", "example": "delay", "type": "string"}, "required": {"description": "Whether parameter is required", "example": "False", "type": "boolean"}, "title": {"description": "Menu parameter title", "example": "Delay in seconds", "type": "string"}, "type": {"description": "Menu form parameter input type", "example": "int", "type": "string"}}, "required": ["name", "title"], "type": "object"}, "MenuJson": {"properties": {"description": {"description": "Introductory text for the menu", "example": "User preferences for window settings", "type": "string"}, "errormsg": {"description": "Optional error message to display in menu header", "example": "Error: item not present", "type": "string"}, "options": {"description": "List of menu options", "items": {"$ref": "#/definitions/MenuOption"}, "type": "array"}, "title": {"description": "Menu title", "example": "My Menu", "type": "string"}}, "required": ["options"], "type": "object"}, "MenuOption": {"properties": {"description": {"description": "Additional descriptive text for menu option", "example": "Window display preferences", "type": "string"}, "disabled": {"description": "Whether to show option as disabled", "example": "False", "type": "boolean"}, "form": {"$ref": "#/definitions/MenuForm"}, "name": {"description": "Menu option name (unique identifier)", "example": "window_prefs", "type": "string"}, "title": {"description": "Menu option title", "example": "Window Preferences", "type": "string"}}, "required": ["name", "title"], "type": "object"}, "MultitenantModuleResponse": {"properties": {}, "type": "object"}, "OobRecord": {"properties": {"attach_thread_id": {"description": "Connection record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "connection_id": {"description": "Connection record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "invi_msg_id": {"description": "Invitation message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "invitation": {"allOf": [{"$ref": "#/definitions/InvitationMessage"}], "description": "Out of band invitation message"}, "oob_id": {"description": "Oob record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "our_recipient_key": {"description": "Recipient key used for oob invitation", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "role": {"description": "OOB Role", "enum": ["sender", "receiver"], "example": "receiver", "type": "string"}, "state": {"description": "Out of band message exchange state", "enum": ["initial", "prepare-response", "await-response", "reuse-not-accepted", "reuse-accepted", "done", "deleted"], "example": "await-response", "type": "string"}, "their_service": {"$ref": "#/definitions/ServiceDecorator"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "required": ["invi_msg_id", "invitation", "oob_id", "state"], "type": "object"}, "PerformRequest": {"properties": {"name": {"description": "Menu option name", "example": "Query", "type": "string"}, "params": {"additionalProperties": {"example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "description": "Input parameter values", "type": "object"}}, "type": "object"}, "PingRequest": {"properties": {"comment": {"description": "Comment for the ping message", "type": "string", "x-nullable": true}}, "type": "object"}, "PingRequestResponse": {"properties": {"thread_id": {"description": "Thread ID of the ping message", "type": "string"}}, "type": "object"}, "PresentationDefinition": {"properties": {"format": {"$ref": "#/definitions/ClaimFormat"}, "id": {"description": "Unique Resource Identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "type": "string"}, "input_descriptors": {"items": {"$ref": "#/definitions/InputDescriptors"}, "type": "array"}, "name": {"description": "Human-friendly name that describes what the presentation definition pertains to", "type": "string"}, "purpose": {"description": "Describes the purpose for which the Presentation Definition's inputs are being requested", "type": "string"}, "submission_requirements": {"items": {"$ref": "#/definitions/SubmissionRequirements"}, "type": "array"}}, "type": "object"}, "PresentationProposal": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "presentation_proposal": {"$ref": "#/definitions/IndyPresPreview"}}, "required": ["presentation_proposal"], "type": "object"}, "PresentationRequest": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "request_presentations~attach": {"items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}}, "required": ["request_presentations~attach"], "type": "object"}, "ProtocolDescriptor": {"properties": {"pid": {"type": "string"}, "roles": {"description": "List of roles", "items": {"description": "Role: requester or responder", "example": "requester", "type": "string"}, "type": "array", "x-nullable": true}}, "required": ["pid"], "type": "object"}, "PublishRevocations": {"properties": {"rrid2crid": {"additionalProperties": {"items": {"description": "Credential revocation identifier", "example": "12345", "pattern": "^[1-9][0-9]*$", "type": "string"}, "type": "array"}, "description": "Credential revocation ids by revocation registry id", "type": "object"}}, "type": "object"}, "Queries": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "queries": {"items": {"$ref": "#/definitions/QueryItem"}, "type": "array"}}, "type": "object"}, "Query": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"type": "string", "x-nullable": true}, "query": {"type": "string"}}, "required": ["query"], "type": "object"}, "QueryItem": {"properties": {"feature-type": {"description": "feature type", "enum": ["protocol", "goal-code"], "type": "string"}, "match": {"description": "match", "type": "string"}}, "required": ["feature-type", "match"], "type": "object"}, "RawEncoded": {"properties": {"encoded": {"description": "Encoded value", "example": "-1", "pattern": "^-?[0-9]*$", "type": "string"}, "raw": {"description": "Raw value", "type": "string"}}, "type": "object"}, "ReceiveInvitationRequest": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "did": {"description": "DID for connection invitation", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "imageUrl": {"description": "Optional image URL for connection invitation", "example": "http://192.168.56.101/img/logo.jpg", "format": "url", "type": "string", "x-nullable": true}, "label": {"description": "Optional label for connection invitation", "example": "Bob", "type": "string"}, "recipientKeys": {"description": "List of recipient keys", "items": {"description": "Recipient public key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "type": "array"}, "routingKeys": {"description": "List of routing keys", "items": {"description": "Routing key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "type": "array"}, "serviceEndpoint": {"description": "Service endpoint at which to reach this agent", "example": "http://192.168.56.101:8020", "type": "string"}}, "type": "object"}, "RemoveWalletRequest": {"properties": {"wallet_key": {"description": "Master key used for key derivation. Only required for unmanaged wallets.", "example": "MySecretKey123", "type": "string"}}, "type": "object"}, "ResolutionResult": {"properties": {"did_document": {"description": "DID Document", "type": "object"}, "metadata": {"description": "Resolution metadata", "type": "object"}}, "required": ["did_document", "metadata"], "type": "object"}, "RevRegCreateRequest": {"properties": {"credential_definition_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "max_cred_num": {"description": "Revocation registry size", "example": 1000, "format": "int32", "maximum": 32768, "minimum": 4, "type": "integer"}}, "type": "object"}, "RevRegIssuedResult": {"properties": {"result": {"description": "Number of credentials issued against revocation registry", "example": 0, "format": "int32", "minimum": 0, "type": "integer"}}, "type": "object"}, "RevRegResult": {"properties": {"result": {"$ref": "#/definitions/IssuerRevRegRecord"}}, "type": "object"}, "RevRegUpdateTailsFileUri": {"properties": {"tails_public_uri": {"description": "Public URI to the tails file", "example": "http://192.168.56.133:6543/revocation/registry/WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0/tails-file", "format": "url", "type": "string"}}, "required": ["tails_public_uri"], "type": "object"}, "RevRegWalletUpdatedResult": {"properties": {"accum_calculated": {"description": "Calculated accumulator for phantom revocations", "type": "object"}, "accum_fixed": {"description": "Applied ledger transaction to fix revocations", "type": "object"}, "rev_reg_delta": {"description": "Indy revocation registry delta", "type": "object"}}, "type": "object"}, "RevRegsCreated": {"properties": {"rev_reg_ids": {"items": {"description": "Revocation registry identifiers", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string"}, "type": "array"}}, "type": "object"}, "RevocationModuleResponse": {"properties": {}, "type": "object"}, "RevokeRequest": {"properties": {"comment": {"description": "Optional comment to include in revocation notification", "type": "string"}, "connection_id": {"description": "Connection ID to which the revocation notification will be sent; required if notify is true", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "type": "string"}, "cred_ex_id": {"description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "pattern": "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-4[a-fA-F0-9]{3}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", "type": "string"}, "cred_rev_id": {"description": "Credential revocation identifier", "example": "12345", "pattern": "^[1-9][0-9]*$", "type": "string"}, "notify": {"description": "Send a notification to the credential recipient", "type": "boolean"}, "notify_version": {"description": "Specify which version of the revocation notification should be sent", "enum": ["v1_0", "v2_0"], "type": "string"}, "publish": {"description": "(True) publish revocation to ledger immediately, or (default, False) mark it pending", "type": "boolean"}, "rev_reg_id": {"description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string"}, "thread_id": {"description": "Thread ID of the credential exchange message thread resulting in the credential now being revoked; required if notify is true", "type": "string"}}, "type": "object"}, "RouteRecord": {"properties": {"connection_id": {"type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "recipient_key": {"type": "string"}, "record_id": {"type": "string"}, "role": {"type": "string"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "wallet_id": {"type": "string"}}, "required": ["recipient_key"], "type": "object"}, "Schema": {"properties": {"attrNames": {"description": "Schema attribute names", "items": {"description": "Attribute name", "example": "score", "type": "string"}, "type": "array"}, "id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "name": {"description": "Schema name", "example": "schema_name", "type": "string"}, "seqNo": {"description": "Schema sequence number", "example": 10, "format": "int32", "minimum": 1, "type": "integer"}, "ver": {"description": "Node protocol version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}, "version": {"description": "Schema version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}}, "type": "object"}, "SchemaGetResult": {"properties": {"schema": {"$ref": "#/definitions/Schema"}}, "type": "object"}, "SchemaInputDescriptor": {"properties": {"required": {"description": "Required", "type": "boolean"}, "uri": {"description": "URI", "type": "string"}}, "type": "object"}, "SchemaSendRequest": {"properties": {"attributes": {"description": "List of schema attributes", "items": {"description": "attribute name", "example": "score", "type": "string"}, "type": "array"}, "schema_name": {"description": "Schema name", "example": "prefs", "type": "string"}, "schema_version": {"description": "Schema version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}}, "required": ["attributes", "schema_name", "schema_version"], "type": "object"}, "SchemaSendResult": {"properties": {"schema": {"allOf": [{"$ref": "#/definitions/Schema"}], "description": "Schema definition"}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}}, "required": ["schema_id"], "type": "object"}, "SchemasCreatedResult": {"properties": {"schema_ids": {"items": {"description": "Schema identifiers", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "type": "array"}}, "type": "object"}, "SchemasInputDescriptorFilter": {"properties": {"oneof_filter": {"description": "oneOf", "type": "boolean"}, "uri_groups": {"items": {"items": {"$ref": "#/definitions/SchemaInputDescriptor"}, "type": "array"}, "type": "array"}}, "type": "object"}, "SendMenu": {"properties": {"menu": {"allOf": [{"$ref": "#/definitions/MenuJson"}], "description": "Menu to send to connection"}}, "required": ["menu"], "type": "object"}, "SendMessage": {"properties": {"content": {"description": "Message content", "example": "Hello", "type": "string"}}, "type": "object"}, "ServiceDecorator": {"properties": {"recipientKeys": {"description": "List of recipient keys", "items": {"description": "Recipient public key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "type": "array"}, "routingKeys": {"description": "List of routing keys", "items": {"description": "Routing key", "example": "H3C2AVvLMv6gmMNam3uVAjZpfkcJCwDwnZn6z3wXmqPV", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{43,44}$", "type": "string"}, "type": "array"}, "serviceEndpoint": {"description": "Service endpoint at which to reach this agent", "example": "http://192.168.56.101:8020", "type": "string"}}, "required": ["recipientKeys", "serviceEndpoint"], "type": "object"}, "SignRequest": {"properties": {"doc": {"$ref": "#/definitions/Doc"}, "verkey": {"description": "Verkey to use for signing", "type": "string"}}, "required": ["doc", "verkey"], "type": "object"}, "SignResponse": {"properties": {"error": {"description": "Error text", "type": "string"}, "signed_doc": {"description": "Signed document", "type": "object"}}, "type": "object"}, "SignatureOptions": {"properties": {"challenge": {"type": "string"}, "domain": {"type": "string"}, "proofPurpose": {"type": "string"}, "type": {"type": "string"}, "verificationMethod": {"type": "string"}}, "required": ["proofPurpose", "verificationMethod"], "type": "object"}, "SignedDoc": {"properties": {"proof": {"allOf": [{"$ref": "#/definitions/SignatureOptions"}], "description": "Linked data proof"}}, "required": ["proof"], "type": "object"}, "SubmissionRequirements": {"properties": {"count": {"description": "Count Value", "example": 1234, "format": "int32", "type": "integer"}, "from": {"description": "From", "type": "string"}, "from_nested": {"items": {"$ref": "#/definitions/SubmissionRequirements"}, "type": "array"}, "max": {"description": "Max Value", "example": 1234, "format": "int32", "type": "integer"}, "min": {"description": "Min Value", "example": 1234, "format": "int32", "type": "integer"}, "name": {"description": "Name", "type": "string"}, "purpose": {"description": "Purpose", "type": "string"}, "rule": {"description": "Selection", "enum": ["all", "pick"], "type": "string"}}, "type": "object"}, "TAAAccept": {"properties": {"mechanism": {"type": "string"}, "text": {"type": "string"}, "version": {"type": "string"}}, "type": "object"}, "TAAAcceptance": {"properties": {"mechanism": {"type": "string"}, "time": {"example": 1640995199, "format": "int32", "maximum": 18446744073709551615, "minimum": 0, "type": "integer"}}, "type": "object"}, "TAAInfo": {"properties": {"aml_record": {"$ref": "#/definitions/AMLRecord"}, "taa_accepted": {"$ref": "#/definitions/TAAAcceptance"}, "taa_record": {"$ref": "#/definitions/TAARecord"}, "taa_required": {"type": "boolean"}}, "type": "object"}, "TAARecord": {"properties": {"digest": {"type": "string"}, "text": {"type": "string"}, "version": {"type": "string"}}, "type": "object"}, "TAAResult": {"properties": {"result": {"$ref": "#/definitions/TAAInfo"}}, "type": "object"}, "TailsDeleteResponse": {"properties": {"message": {"type": "string"}}, "type": "object"}, "TransactionJobs": {"properties": {"transaction_my_job": {"description": "My transaction related job", "enum": ["TRANSACTION_AUTHOR", "TRANSACTION_ENDORSER", "reset"], "type": "string"}, "transaction_their_job": {"description": "Their transaction related job", "enum": ["TRANSACTION_AUTHOR", "TRANSACTION_ENDORSER", "reset"], "type": "string"}}, "type": "object"}, "TransactionList": {"properties": {"results": {"description": "List of transaction records", "items": {"$ref": "#/definitions/TransactionRecord"}, "type": "array"}}, "type": "object"}, "TransactionRecord": {"properties": {"_type": {"description": "Transaction type", "example": "101", "type": "string"}, "connection_id": {"description": "The connection identifier for thie particular transaction record", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "endorser_write_txn": {"description": "If True, Endorser will write the transaction after endorsing it", "example": true, "type": "boolean"}, "formats": {"items": {"additionalProperties": {"type": "string"}, "example": {"attach_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "dif/endorse-transaction/request@v1.0"}, "type": "object"}, "type": "array"}, "messages_attach": {"items": {"example": {"@id": "143c458d-1b1c-40c7-ab85-4d16808ddf0a", "data": {"json": "{\"endorser\": \"V4SGRU86Z58d6TV7PBUe6f\",\"identifier\": \"LjgpST2rjsoxYegQDRm7EL\",\"operation\": {\"data\": {\"attr_names\": [\"first_name\", \"last_name\"],\"name\": \"test_schema\",\"version\": \"2.1\",},\"type\": \"101\",},\"protocolVersion\": 2,\"reqId\": 1597766666168851000,\"signatures\": {\"LjgpST2rjsox\": \"4ATKMn6Y9sTgwqaGTm7py2c2M8x1EVDTWKZArwyuPgjU\"},\"taaAcceptance\": {\"mechanism\": \"manual\",\"taaDigest\": \"f50fe2c2ab977006761d36bd6f23e4c6a7e0fc2feb9f62\",\"time\": 1597708800,}}"}, "mime-type": "application/json"}, "type": "object"}, "type": "array"}, "meta_data": {"example": {"context": {"param1": "param1_value", "param2": "param2_value"}, "post_process": [{"topic": "topic_value", "other": "other_value"}]}, "type": "object"}, "signature_request": {"items": {"example": {"author_goal_code": "aries.transaction.ledger.write", "context": "did:sov", "method": "add-signature", "signature_type": "", "signer_goal_code": "aries.transaction.endorse"}, "type": "object"}, "type": "array"}, "signature_response": {"items": {"example": {"context": "did:sov", "message_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "method": "add-signature", "signer_goal_code": "aries.transaction.refuse"}, "type": "object"}, "type": "array"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "thread_id": {"description": "Thread Identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "timing": {"example": {"expires_time": "2020-12-13T17:29:06+0000"}, "type": "object"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "transaction_id": {"description": "Transaction identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "TxnOrCredentialDefinitionSendResult": {"properties": {"sent": {"$ref": "#/definitions/CredentialDefinitionSendResult"}, "txn": {"allOf": [{"$ref": "#/definitions/TransactionRecord"}], "description": "Credential definition transaction to endorse"}}, "type": "object"}, "TxnOrPublishRevocationsResult": {"properties": {"sent": {"$ref": "#/definitions/PublishRevocations"}, "txn": {"allOf": [{"$ref": "#/definitions/TransactionRecord"}], "description": "Revocation registry revocations transaction to endorse"}}, "type": "object"}, "TxnOrRegisterLedgerNymResponse": {"properties": {"success": {"description": "Success of nym registration operation", "example": true, "type": "boolean"}, "txn": {"allOf": [{"$ref": "#/definitions/TransactionRecord"}], "description": "DID transaction to endorse"}}, "type": "object"}, "TxnOrRevRegResult": {"properties": {"sent": {"$ref": "#/definitions/RevRegResult"}, "txn": {"allOf": [{"$ref": "#/definitions/TransactionRecord"}], "description": "Revocation registry definition transaction to endorse"}}, "type": "object"}, "TxnOrSchemaSendResult": {"properties": {"sent": {"allOf": [{"$ref": "#/definitions/SchemaSendResult"}], "description": "Content sent"}, "txn": {"allOf": [{"$ref": "#/definitions/TransactionRecord"}], "description": "Schema transaction to endorse"}}, "type": "object"}, "UpdateWalletRequest": {"properties": {"image_url": {"description": "Image url for this wallet. This image url is publicized (self-attested) to other agents as part of forming a connection.", "example": "https://aries.ca/images/sample.png", "type": "string"}, "label": {"description": "Label for this wallet. This label is publicized (self-attested) to other agents as part of forming a connection.", "example": "Alice", "type": "string"}, "wallet_dispatch_type": {"description": "Webhook target dispatch type for this wallet. default - Dispatch only to webhooks associated with this wallet. base - Dispatch only to webhooks associated with the base wallet. both - Dispatch to both webhook targets.", "enum": ["default", "both", "base"], "example": "default", "type": "string"}, "wallet_webhook_urls": {"description": "List of Webhook URLs associated with this subwallet", "items": {"description": "Optional webhook URL to receive webhook messages", "example": "http://localhost:8022/webhooks", "type": "string"}, "type": "array"}}, "type": "object"}, "V10CredentialBoundOfferRequest": {"properties": {"counter_proposal": {"allOf": [{"$ref": "#/definitions/CredentialProposal"}], "description": "Optional counter-proposal"}}, "type": "object"}, "V10CredentialConnFreeOfferRequest": {"properties": {"auto_issue": {"description": "Whether to respond automatically to credential requests, creating and issuing requested credentials", "type": "boolean"}, "auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "credential_preview": {"$ref": "#/definitions/CredentialPreview"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "required": ["cred_def_id", "credential_preview"], "type": "object"}, "V10CredentialCreate": {"properties": {"auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "credential_proposal": {"$ref": "#/definitions/CredentialPreview"}, "issuer_did": {"description": "Credential issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "schema_issuer_did": {"description": "Schema issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_name": {"description": "Schema name", "example": "preferences", "type": "string"}, "schema_version": {"description": "Schema version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "required": ["credential_proposal"], "type": "object"}, "V10CredentialExchange": {"properties": {"auto_issue": {"description": "Issuer choice to issue to request in this credential exchange", "example": false, "type": "boolean"}, "auto_offer": {"description": "Holder choice to accept offer in this credential exchange", "example": false, "type": "boolean"}, "auto_remove": {"description": "Issuer choice to remove this credential exchange record when complete", "example": false, "type": "boolean"}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "credential": {"allOf": [{"$ref": "#/definitions/IndyCredInfo"}], "description": "Credential as stored"}, "credential_definition_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "credential_exchange_id": {"description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "credential_id": {"description": "Credential identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "credential_offer": {"allOf": [{"$ref": "#/definitions/IndyCredAbstract"}], "description": "(Indy) credential offer"}, "credential_offer_dict": {"allOf": [{"$ref": "#/definitions/CredentialOffer"}], "description": "Credential offer message"}, "credential_proposal_dict": {"allOf": [{"$ref": "#/definitions/CredentialProposal"}], "description": "Credential proposal message"}, "credential_request": {"allOf": [{"$ref": "#/definitions/IndyCredRequest"}], "description": "(Indy) credential request"}, "credential_request_metadata": {"description": "(Indy) credential request metadata", "type": "object"}, "error_msg": {"description": "Error message", "example": "Credential definition identifier is not set in proposal", "type": "string"}, "initiator": {"description": "Issue-credential exchange initiator: self or external", "enum": ["self", "external"], "example": "self", "type": "string"}, "parent_thread_id": {"description": "Parent thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "raw_credential": {"allOf": [{"$ref": "#/definitions/IndyCredential"}], "description": "Credential as received, prior to storage in holder wallet"}, "revoc_reg_id": {"description": "Revocation registry identifier", "type": "string"}, "revocation_id": {"description": "Credential identifier within revocation registry", "type": "string"}, "role": {"description": "Issue-credential exchange role: holder or issuer", "enum": ["holder", "issuer"], "example": "issuer", "type": "string"}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "state": {"description": "Issue-credential exchange state", "example": "credential_acked", "type": "string"}, "thread_id": {"description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "V10CredentialExchangeListResult": {"properties": {"results": {"description": "Aries#0036 v1.0 credential exchange records", "items": {"$ref": "#/definitions/V10CredentialExchange"}, "type": "array"}}, "type": "object"}, "V10CredentialFreeOfferRequest": {"properties": {"auto_issue": {"description": "Whether to respond automatically to credential requests, creating and issuing requested credentials", "type": "boolean"}, "auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "credential_preview": {"$ref": "#/definitions/CredentialPreview"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "required": ["connection_id", "cred_def_id", "credential_preview"], "type": "object"}, "V10CredentialIssueRequest": {"properties": {"comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}}, "type": "object"}, "V10CredentialProblemReportRequest": {"properties": {"description": {"type": "string"}}, "required": ["description"], "type": "object"}, "V10CredentialProposalRequestMand": {"properties": {"auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "credential_proposal": {"$ref": "#/definitions/CredentialPreview"}, "issuer_did": {"description": "Credential issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "schema_issuer_did": {"description": "Schema issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_name": {"description": "Schema name", "example": "preferences", "type": "string"}, "schema_version": {"description": "Schema version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "required": ["connection_id", "credential_proposal"], "type": "object"}, "V10CredentialProposalRequestOpt": {"properties": {"auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "credential_proposal": {"$ref": "#/definitions/CredentialPreview"}, "issuer_did": {"description": "Credential issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "schema_issuer_did": {"description": "Schema issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_name": {"description": "Schema name", "example": "preferences", "type": "string"}, "schema_version": {"description": "Schema version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "required": ["connection_id"], "type": "object"}, "V10CredentialStoreRequest": {"properties": {"credential_id": {"type": "string"}}, "type": "object"}, "V10DiscoveryExchangeListResult": {"properties": {"results": {"items": {"allOf": [{"$ref": "#/definitions/V10DiscoveryRecord"}], "description": "Discover Features v1.0 exchange record"}, "type": "array"}}, "type": "object"}, "V10DiscoveryRecord": {"properties": {"connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "disclose": {"allOf": [{"$ref": "#/definitions/Disclose"}], "description": "Disclose message"}, "discovery_exchange_id": {"description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "query_msg": {"allOf": [{"$ref": "#/definitions/Query"}], "description": "Query message"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "thread_id": {"description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "V10PresentProofModuleResponse": {"properties": {}, "type": "object"}, "V10PresentationCreateRequestRequest": {"properties": {"auto_verify": {"description": "Verifier choice to auto-verify proof presentation", "example": false, "type": "boolean"}, "comment": {"type": "string", "x-nullable": true}, "proof_request": {"$ref": "#/definitions/IndyProofRequest"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "required": ["proof_request"], "type": "object"}, "V10PresentationExchange": {"properties": {"auto_present": {"description": "Prover choice to auto-present proof as verifier requests", "example": false, "type": "boolean"}, "auto_verify": {"description": "Verifier choice to auto-verify proof presentation", "type": "boolean"}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "error_msg": {"description": "Error message", "example": "Invalid structure", "type": "string"}, "initiator": {"description": "Present-proof exchange initiator: self or external", "enum": ["self", "external"], "example": "self", "type": "string"}, "presentation": {"allOf": [{"$ref": "#/definitions/IndyProof"}], "description": "(Indy) presentation (also known as proof)"}, "presentation_exchange_id": {"description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "presentation_proposal_dict": {"allOf": [{"$ref": "#/definitions/PresentationProposal"}], "description": "Presentation proposal message"}, "presentation_request": {"allOf": [{"$ref": "#/definitions/IndyProofRequest"}], "description": "(Indy) presentation request (also known as proof request)"}, "presentation_request_dict": {"allOf": [{"$ref": "#/definitions/PresentationRequest"}], "description": "Presentation request message"}, "role": {"description": "Present-proof exchange role: prover or verifier", "enum": ["prover", "verifier"], "example": "prover", "type": "string"}, "state": {"description": "Present-proof exchange state", "example": "verified", "type": "string"}, "thread_id": {"description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "verified": {"description": "Whether presentation is verified: true or false", "enum": ["true", "false"], "example": "true", "type": "string"}, "verified_msgs": {"items": {"description": "Proof verification warning or error information", "type": "string"}, "type": "array"}}, "type": "object"}, "V10PresentationExchangeList": {"properties": {"results": {"description": "Aries RFC 37 v1.0 presentation exchange records", "items": {"$ref": "#/definitions/V10PresentationExchange"}, "type": "array"}}, "type": "object"}, "V10PresentationProblemReportRequest": {"properties": {"description": {"type": "string"}}, "required": ["description"], "type": "object"}, "V10PresentationProposalRequest": {"properties": {"auto_present": {"description": "Whether to respond automatically to presentation requests, building and presenting requested proof", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "presentation_proposal": {"$ref": "#/definitions/IndyPresPreview"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "required": ["connection_id", "presentation_proposal"], "type": "object"}, "V10PresentationSendRequestRequest": {"properties": {"auto_verify": {"description": "Verifier choice to auto-verify proof presentation", "example": false, "type": "boolean"}, "comment": {"type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "proof_request": {"$ref": "#/definitions/IndyProofRequest"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "required": ["connection_id", "proof_request"], "type": "object"}, "V10PresentationSendRequestToProposal": {"properties": {"auto_verify": {"description": "Verifier choice to auto-verify proof presentation", "example": false, "type": "boolean"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "type": "object"}, "V20CredAttrSpec": {"properties": {"mime-type": {"description": "MIME type: omit for (null) default", "example": "image/jpeg", "type": "string", "x-nullable": true}, "name": {"description": "Attribute name", "example": "favourite_drink", "type": "string"}, "value": {"description": "Attribute value: base64-encode if MIME type is present", "example": "martini", "type": "string"}}, "required": ["name", "value"], "type": "object"}, "V20CredBoundOfferRequest": {"properties": {"counter_preview": {"allOf": [{"$ref": "#/definitions/V20CredPreview"}], "description": "Optional content for counter-proposal"}, "filter": {"allOf": [{"$ref": "#/definitions/V20CredFilter"}], "description": "Credential specification criteria by format"}}, "type": "object"}, "V20CredExFree": {"properties": {"auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "credential_preview": {"$ref": "#/definitions/V20CredPreview"}, "filter": {"allOf": [{"$ref": "#/definitions/V20CredFilter"}], "description": "Credential specification criteria by format"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "verification_method": {"description": "For ld-proofs. Verification method for signing.", "type": "string", "x-nullable": true}}, "required": ["connection_id", "filter"], "type": "object"}, "V20CredExRecord": {"properties": {"auto_issue": {"description": "Issuer choice to issue to request in this credential exchange", "example": false, "type": "boolean"}, "auto_offer": {"description": "Holder choice to accept offer in this credential exchange", "example": false, "type": "boolean"}, "auto_remove": {"description": "Issuer choice to remove this credential exchange record when complete", "example": false, "type": "boolean"}, "by_format": {"allOf": [{"$ref": "#/definitions/V20CredExRecordByFormat"}], "description": "Attachment content by format for proposal, offer, request, and issue", "readOnly": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "cred_ex_id": {"description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "cred_issue": {"allOf": [{"$ref": "#/definitions/V20CredIssue"}], "description": "Serialized credential issue message"}, "cred_offer": {"allOf": [{"$ref": "#/definitions/V20CredOffer"}], "description": "Credential offer message"}, "cred_preview": {"allOf": [{"$ref": "#/definitions/V20CredPreview"}], "description": "Credential preview from credential proposal", "readOnly": true}, "cred_proposal": {"allOf": [{"$ref": "#/definitions/V20CredProposal"}], "description": "Credential proposal message"}, "cred_request": {"allOf": [{"$ref": "#/definitions/V20CredRequest"}], "description": "Serialized credential request message"}, "error_msg": {"description": "Error message", "example": "The front fell off", "type": "string"}, "initiator": {"description": "Issue-credential exchange initiator: self or external", "enum": ["self", "external"], "example": "self", "type": "string"}, "parent_thread_id": {"description": "Parent thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "role": {"description": "Issue-credential exchange role: holder or issuer", "enum": ["issuer", "holder"], "example": "issuer", "type": "string"}, "state": {"description": "Issue-credential exchange state", "enum": ["proposal-sent", "proposal-received", "offer-sent", "offer-received", "request-sent", "request-received", "credential-issued", "credential-received", "done", "credential-revoked", "abandoned", "deleted"], "example": "done", "type": "string"}, "thread_id": {"description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "V20CredExRecordByFormat": {"properties": {"cred_issue": {"type": "object"}, "cred_offer": {"type": "object"}, "cred_proposal": {"type": "object"}, "cred_request": {"type": "object"}}, "type": "object"}, "V20CredExRecordDetail": {"properties": {"cred_ex_record": {"allOf": [{"$ref": "#/definitions/V20CredExRecord"}], "description": "Credential exchange record"}, "indy": {"$ref": "#/definitions/V20CredExRecordIndy"}, "ld_proof": {"$ref": "#/definitions/V20CredExRecordLDProof"}}, "type": "object"}, "V20CredExRecordIndy": {"properties": {"created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "cred_ex_id": {"description": "Corresponding v2.0 credential exchange record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "cred_ex_indy_id": {"description": "Record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "cred_id_stored": {"description": "Credential identifier stored in wallet", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "cred_request_metadata": {"description": "Credential request metadata for indy holder", "type": "object"}, "cred_rev_id": {"description": "Credential revocation identifier within revocation registry", "example": "12345", "pattern": "^[1-9][0-9]*$", "type": "string"}, "rev_reg_id": {"description": "Revocation registry identifier", "example": "WgWxqztrNooG92RXvxSTWv:4:WgWxqztrNooG92RXvxSTWv:3:CL:20:tag:CL_ACCUM:0", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):4:([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+))(:.+)?:CL_ACCUM:(.+$)", "type": "string"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "V20CredExRecordLDProof": {"properties": {"created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "cred_ex_id": {"description": "Corresponding v2.0 credential exchange record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "cred_ex_ld_proof_id": {"description": "Record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "cred_id_stored": {"description": "Credential identifier stored in wallet", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "V20CredExRecordListResult": {"properties": {"results": {"description": "Credential exchange records and corresponding detail records", "items": {"$ref": "#/definitions/V20CredExRecordDetail"}, "type": "array"}}, "type": "object"}, "V20CredFilter": {"properties": {"indy": {"allOf": [{"$ref": "#/definitions/V20CredFilterIndy"}], "description": "Credential filter for indy"}, "ld_proof": {"allOf": [{"$ref": "#/definitions/LDProofVCDetail"}], "description": "Credential filter for linked data proof"}}, "type": "object"}, "V20CredFilterIndy": {"properties": {"cred_def_id": {"description": "Credential definition identifier", "example": "WgWxqztrNooG92RXvxSTWv:3:CL:20:tag", "pattern": "^([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}):3:CL:(([1-9][0-9]*)|([123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+)):(.+)?$", "type": "string"}, "issuer_did": {"description": "Credential issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_id": {"description": "Schema identifier", "example": "WgWxqztrNooG92RXvxSTWv:2:schema_name:1.0", "pattern": "^[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}:2:.+:[0-9.]+$", "type": "string"}, "schema_issuer_did": {"description": "Schema issuer DID", "example": "WgWxqztrNooG92RXvxSTWv", "pattern": "^(did:sov:)?[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]{21,22}$", "type": "string"}, "schema_name": {"description": "Schema name", "example": "preferences", "type": "string"}, "schema_version": {"description": "Schema version", "example": "1.0", "pattern": "^[0-9.]+$", "type": "string"}}, "type": "object"}, "V20CredFilterLDProof": {"properties": {"ld_proof": {"allOf": [{"$ref": "#/definitions/LDProofVCDetail"}], "description": "Credential filter for linked data proof"}}, "required": ["ld_proof"], "type": "object"}, "V20CredFormat": {"properties": {"attach_id": {"description": "Attachment identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "format": {"description": "Attachment format specifier", "example": "aries/ld-proof-vc-detail@v1.0", "type": "string"}}, "required": ["attach_id", "format"], "type": "object"}, "V20CredIssue": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "credentials~attach": {"description": "Credential attachments", "items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}, "formats": {"description": "Acceptable attachment formats", "items": {"$ref": "#/definitions/V20CredFormat"}, "type": "array"}, "replacement_id": {"description": "Issuer-unique identifier to coordinate credential replacement", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}}, "required": ["credentials~attach", "formats"], "type": "object"}, "V20CredIssueProblemReportRequest": {"properties": {"description": {"type": "string"}}, "required": ["description"], "type": "object"}, "V20CredIssueRequest": {"properties": {"comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}}, "type": "object"}, "V20CredOffer": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "credential_preview": {"$ref": "#/definitions/V20CredPreview"}, "formats": {"description": "Acceptable credential formats", "items": {"$ref": "#/definitions/V20CredFormat"}, "type": "array"}, "offers~attach": {"description": "Offer attachments", "items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}, "replacement_id": {"description": "Issuer-unique identifier to coordinate credential replacement", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}}, "required": ["formats", "offers~attach"], "type": "object"}, "V20CredOfferConnFreeRequest": {"properties": {"auto_issue": {"description": "Whether to respond automatically to credential requests, creating and issuing requested credentials", "type": "boolean"}, "auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "credential_preview": {"$ref": "#/definitions/V20CredPreview"}, "filter": {"allOf": [{"$ref": "#/definitions/V20CredFilter"}], "description": "Credential specification criteria by format"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "required": ["filter"], "type": "object"}, "V20CredOfferRequest": {"properties": {"auto_issue": {"description": "Whether to respond automatically to credential requests, creating and issuing requested credentials", "type": "boolean"}, "auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "credential_preview": {"$ref": "#/definitions/V20CredPreview"}, "filter": {"allOf": [{"$ref": "#/definitions/V20CredFilter"}], "description": "Credential specification criteria by format"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "required": ["connection_id", "filter"], "type": "object"}, "V20CredPreview": {"properties": {"@type": {"description": "Message type identifier", "example": "issue-credential/2.0/credential-preview", "type": "string"}, "attributes": {"items": {"$ref": "#/definitions/V20CredAttrSpec"}, "type": "array"}}, "required": ["attributes"], "type": "object"}, "V20CredProposal": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "credential_preview": {"allOf": [{"$ref": "#/definitions/V20CredPreview"}], "description": "Credential preview"}, "filters~attach": {"description": "Credential filter per acceptable format on corresponding identifier", "items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}, "formats": {"description": "Attachment formats", "items": {"$ref": "#/definitions/V20CredFormat"}, "type": "array"}}, "required": ["filters~attach", "formats"], "type": "object"}, "V20CredRequest": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "formats": {"description": "Acceptable attachment formats", "items": {"$ref": "#/definitions/V20CredFormat"}, "type": "array"}, "requests~attach": {"description": "Request attachments", "items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}}, "required": ["formats", "requests~attach"], "type": "object"}, "V20CredRequestFree": {"properties": {"auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "filter": {"allOf": [{"$ref": "#/definitions/V20CredFilterLDProof"}], "description": "Credential specification criteria by format"}, "holder_did": {"description": "Holder DID to substitute for the credentialSubject.id", "example": "did:key:ahsdkjahsdkjhaskjdhakjshdkajhsdkjahs", "type": "string", "x-nullable": true}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "required": ["connection_id", "filter"], "type": "object"}, "V20CredRequestRequest": {"properties": {"holder_did": {"description": "Holder DID to substitute for the credentialSubject.id", "example": "did:key:ahsdkjahsdkjhaskjdhakjshdkajhsdkjahs", "type": "string", "x-nullable": true}}, "type": "object"}, "V20CredStoreRequest": {"properties": {"credential_id": {"type": "string"}}, "type": "object"}, "V20DiscoveryExchangeListResult": {"properties": {"results": {"items": {"allOf": [{"$ref": "#/definitions/V20DiscoveryRecord"}], "description": "Discover Features v2.0 exchange record"}, "type": "array"}}, "type": "object"}, "V20DiscoveryExchangeResult": {"properties": {"results": {"allOf": [{"$ref": "#/definitions/V20DiscoveryRecord"}], "description": "Discover Features v2.0 exchange record"}}, "type": "object"}, "V20DiscoveryRecord": {"properties": {"connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "disclosures": {"allOf": [{"$ref": "#/definitions/Disclosures"}], "description": "Disclosures message"}, "discovery_exchange_id": {"description": "Credential exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "queries_msg": {"allOf": [{"$ref": "#/definitions/Queries"}], "description": "Queries message"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "thread_id": {"description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}}, "type": "object"}, "V20IssueCredSchemaCore": {"properties": {"auto_remove": {"description": "Whether to remove the credential exchange record on completion (overrides --preserve-exchange-records configuration setting)", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "credential_preview": {"$ref": "#/definitions/V20CredPreview"}, "filter": {"allOf": [{"$ref": "#/definitions/V20CredFilter"}], "description": "Credential specification criteria by format"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "required": ["filter"], "type": "object"}, "V20IssueCredentialModuleResponse": {"properties": {}, "type": "object"}, "V20Pres": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "formats": {"description": "Acceptable attachment formats", "items": {"$ref": "#/definitions/V20PresFormat"}, "type": "array"}, "presentations~attach": {"items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}}, "required": ["formats", "presentations~attach"], "type": "object"}, "V20PresCreateRequestRequest": {"properties": {"auto_verify": {"description": "Verifier choice to auto-verify proof presentation", "example": false, "type": "boolean"}, "comment": {"type": "string", "x-nullable": true}, "presentation_request": {"$ref": "#/definitions/V20PresRequestByFormat"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "required": ["presentation_request"], "type": "object"}, "V20PresExRecord": {"properties": {"auto_present": {"description": "Prover choice to auto-present proof as verifier requests", "example": false, "type": "boolean"}, "auto_verify": {"description": "Verifier choice to auto-verify proof presentation", "type": "boolean"}, "by_format": {"allOf": [{"$ref": "#/definitions/V20PresExRecordByFormat"}], "description": "Attachment content by format for proposal, request, and presentation", "readOnly": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "error_msg": {"description": "Error message", "example": "Invalid structure", "type": "string"}, "initiator": {"description": "Present-proof exchange initiator: self or external", "enum": ["self", "external"], "example": "self", "type": "string"}, "pres": {"allOf": [{"$ref": "#/definitions/V20Pres"}], "description": "Presentation message"}, "pres_ex_id": {"description": "Presentation exchange identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "pres_proposal": {"allOf": [{"$ref": "#/definitions/V20PresProposal"}], "description": "Presentation proposal message"}, "pres_request": {"allOf": [{"$ref": "#/definitions/V20PresRequest"}], "description": "Presentation request message"}, "role": {"description": "Present-proof exchange role: prover or verifier", "enum": ["prover", "verifier"], "example": "prover", "type": "string"}, "state": {"description": "Present-proof exchange state", "enum": ["proposal-sent", "proposal-received", "request-sent", "request-received", "presentation-sent", "presentation-received", "done", "abandoned", "deleted"], "type": "string"}, "thread_id": {"description": "Thread identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "verified": {"description": "Whether presentation is verified: 'true' or 'false'", "enum": ["true", "false"], "example": "true", "type": "string"}, "verified_msgs": {"items": {"description": "Proof verification warning or error information", "type": "string"}, "type": "array"}}, "type": "object"}, "V20PresExRecordByFormat": {"properties": {"pres": {"type": "object"}, "pres_proposal": {"type": "object"}, "pres_request": {"type": "object"}}, "type": "object"}, "V20PresExRecordList": {"properties": {"results": {"description": "Presentation exchange records", "items": {"$ref": "#/definitions/V20PresExRecord"}, "type": "array"}}, "type": "object"}, "V20PresFormat": {"properties": {"attach_id": {"description": "Attachment identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "format": {"description": "Attachment format specifier", "example": "dif/presentation-exchange/submission@v1.0", "type": "string"}}, "required": ["attach_id", "format"], "type": "object"}, "V20PresProblemReportRequest": {"properties": {"description": {"type": "string"}}, "required": ["description"], "type": "object"}, "V20PresProposal": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string"}, "formats": {"items": {"$ref": "#/definitions/V20PresFormat"}, "type": "array"}, "proposals~attach": {"description": "Attachment per acceptable format on corresponding identifier", "items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}}, "required": ["formats", "proposals~attach"], "type": "object"}, "V20PresProposalByFormat": {"properties": {"dif": {"allOf": [{"$ref": "#/definitions/DIFProofProposal"}], "description": "Presentation proposal for DIF"}, "indy": {"allOf": [{"$ref": "#/definitions/IndyProofRequest"}], "description": "Presentation proposal for indy"}}, "type": "object"}, "V20PresProposalRequest": {"properties": {"auto_present": {"description": "Whether to respond automatically to presentation requests, building and presenting requested proof", "type": "boolean"}, "comment": {"description": "Human-readable comment", "type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "presentation_proposal": {"$ref": "#/definitions/V20PresProposalByFormat"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "required": ["connection_id", "presentation_proposal"], "type": "object"}, "V20PresRequest": {"properties": {"@id": {"description": "Message identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "@type": {"description": "Message type", "example": "https://didcomm.org/my-family/1.0/my-message-type", "readOnly": true, "type": "string"}, "comment": {"description": "Human-readable comment", "type": "string"}, "formats": {"items": {"$ref": "#/definitions/V20PresFormat"}, "type": "array"}, "request_presentations~attach": {"description": "Attachment per acceptable format on corresponding identifier", "items": {"$ref": "#/definitions/AttachDecorator"}, "type": "array"}, "will_confirm": {"description": "Whether verifier will send confirmation ack", "type": "boolean"}}, "required": ["formats", "request_presentations~attach"], "type": "object"}, "V20PresRequestByFormat": {"properties": {"dif": {"allOf": [{"$ref": "#/definitions/DIFProofRequest"}], "description": "Presentation request for DIF"}, "indy": {"allOf": [{"$ref": "#/definitions/IndyProofRequest"}], "description": "Presentation request for indy"}}, "type": "object"}, "V20PresSendRequestRequest": {"properties": {"auto_verify": {"description": "Verifier choice to auto-verify proof presentation", "example": false, "type": "boolean"}, "comment": {"type": "string", "x-nullable": true}, "connection_id": {"description": "Connection identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "format": "uuid", "type": "string"}, "presentation_request": {"$ref": "#/definitions/V20PresRequestByFormat"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "required": ["connection_id", "presentation_request"], "type": "object"}, "V20PresSpecByFormatRequest": {"properties": {"dif": {"allOf": [{"$ref": "#/definitions/DIFPresSpec"}], "description": "Optional Presentation specification for DIF, overrides the PresentionExchange record's PresRequest"}, "indy": {"allOf": [{"$ref": "#/definitions/IndyPresSpec"}], "description": "Presentation specification for indy"}, "trace": {"description": "Record trace information, based on agent configuration", "type": "boolean"}}, "type": "object"}, "V20PresentProofModuleResponse": {"properties": {}, "type": "object"}, "V20PresentationSendRequestToProposal": {"properties": {"auto_verify": {"description": "Verifier choice to auto-verify proof presentation", "example": false, "type": "boolean"}, "trace": {"description": "Whether to trace event (default false)", "example": false, "type": "boolean"}}, "type": "object"}, "VCRecord": {"properties": {"contexts": {"items": {"description": "Context", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}, "type": "array"}, "cred_tags": {"additionalProperties": {"description": "Retrieval tag value", "type": "string"}, "type": "object"}, "cred_value": {"description": "(JSON-serializable) credential value", "type": "object"}, "expanded_types": {"items": {"description": "JSON-LD expanded type extracted from type and context", "example": "https://w3id.org/citizenship#PermanentResidentCard", "type": "string"}, "type": "array"}, "given_id": {"description": "Credential identifier", "example": "http://example.edu/credentials/3732", "type": "string"}, "issuer_id": {"description": "Issuer identifier", "example": "https://example.edu/issuers/14", "type": "string"}, "proof_types": {"items": {"description": "Signature suite used for proof", "example": "Ed25519Signature2018", "type": "string"}, "type": "array"}, "record_id": {"description": "Record identifier", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}, "schema_ids": {"items": {"description": "Schema identifier", "example": "https://example.org/examples/degree.json", "type": "string"}, "type": "array"}, "subject_ids": {"items": {"description": "Subject identifier", "example": "did:example:ebfeb1f712ebc6f1c276e12ec21", "type": "string"}, "type": "array"}}, "type": "object"}, "VCRecordList": {"properties": {"results": {"items": {"$ref": "#/definitions/VCRecord"}, "type": "array"}}, "type": "object"}, "VerifyRequest": {"properties": {"doc": {"allOf": [{"$ref": "#/definitions/SignedDoc"}], "description": "Signed document"}, "verkey": {"description": "Verkey to use for doc verification", "type": "string"}}, "required": ["doc"], "type": "object"}, "VerifyResponse": {"properties": {"error": {"description": "Error text", "type": "string"}, "valid": {"type": "boolean"}}, "required": ["valid"], "type": "object"}, "W3CCredentialsListRequest": {"properties": {"contexts": {"items": {"description": "Credential context to match", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}, "type": "array"}, "given_id": {"description": "Given credential id to match", "type": "string"}, "issuer_id": {"description": "Credential issuer identifier to match", "type": "string"}, "max_results": {"description": "Maximum number of results to return", "format": "int32", "type": "integer"}, "proof_types": {"items": {"description": "Signature suite used for proof", "example": "Ed25519Signature2018", "type": "string"}, "type": "array"}, "schema_ids": {"description": "Schema identifiers, all of which to match", "items": {"description": "Credential schema identifier", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}, "type": "array"}, "subject_ids": {"description": "Subject identifiers, all of which to match", "items": {"description": "Subject identifier", "type": "string"}, "type": "array"}, "tag_query": {"additionalProperties": {"description": "Tag value", "type": "string"}, "description": "Tag filter", "type": "object"}, "types": {"items": {"description": "Credential type to match", "example": "https://myhost:8021", "pattern": "^[A-Za-z0-9\\.\\-\\+]+://([A-Za-z0-9][.A-Za-z0-9-_]+[A-Za-z0-9])+(:[1-9][0-9]*)?(/[^?&#]+)?$", "type": "string"}, "type": "array"}}, "type": "object"}, "WalletList": {"properties": {"results": {"description": "List of wallet records", "items": {"$ref": "#/definitions/WalletRecord"}, "type": "array"}}, "type": "object"}, "WalletModuleResponse": {"properties": {}, "type": "object"}, "WalletRecord": {"properties": {"created_at": {"description": "Time of record creation", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "key_management_mode": {"description": "Mode regarding management of wallet key", "enum": ["managed", "unmanaged"], "type": "string"}, "settings": {"description": "Settings for this wallet.", "type": "object"}, "state": {"description": "Current record state", "example": "active", "type": "string"}, "updated_at": {"description": "Time of last record update", "example": "2021-12-31T23:59:59Z", "pattern": "^\\d{4}-\\d\\d-\\d\\d[T ]\\d\\d:\\d\\d(?:\\:(?:\\d\\d(?:\\.\\d{1,6})?))?(?:[+-]\\d\\d:?\\d\\d|Z|)$", "type": "string"}, "wallet_id": {"description": "Wallet record ID", "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6", "type": "string"}}, "required": ["key_management_mode", "wallet_id"], "type": "object"}, "WriteLedgerRequest": {"properties": {"ledger_id": {"type": "string"}}, "type": "object"}}, "securityDefinitions": {"AuthorizationHeader": {"type": "apiKey", "in": "header", "name": "Authorization", "description": "Bearer token. Be sure to preprend token with 'Bearer '"}}, "security": [{"AuthorizationHeader": []}], "tags": [{"name": "action-menu", "description": "Menu interaction over connection"}, {"name": "basicmessage", "description": "Simple messaging", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/527849ec3aa2a8fd47a7bb6c57f918ff8bcb5e8c/features/0095-basic-message"}}, {"name": "connection", "description": "Connection management", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/9b0aaa39df7e8bd434126c4b33c097aae78d65bf/features/0160-connection-protocol"}}, {"name": "credential-definition", "description": "Credential definition operations", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/indy-node/blob/master/design/anoncreds.md#cred_def"}}, {"name": "credentials", "description": "Holder credential management", "externalDocs": {"description": "Overview", "url": "https://w3c.github.io/vc-data-model/#credentials"}}, {"name": "did-exchange", "description": "Connection management via DID exchange", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/25464a5c8f8a17b14edaa4310393df6094ace7b0/features/0023-did-exchange"}}, {"name": "discover-features", "description": "Feature discovery", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0031-discover-features"}}, {"name": "discover-features v2.0", "description": "Feature discovery v2", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/b3a3942ef052039e73cd23d847f42947f8287da2/features/0557-discover-features-v2"}}, {"name": "endorse-transaction", "description": "Endorse a Transaction"}, {"name": "introduction", "description": "Introduction of known parties"}, {"name": "issue-credential v1.0", "description": "Credential issue v1.0", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/bb42a6c35e0d5543718fb36dd099551ab192f7b0/features/0036-issue-credential"}}, {"name": "issue-credential v2.0", "description": "Credential issue v2.0", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/cd27fc64aa2805f756a118043d7c880354353047/features/0453-issue-credential-v2"}}, {"name": "jsonld", "description": "Sign and verify json-ld data", "externalDocs": {"description": "Specification", "url": "https://tools.ietf.org/html/rfc7515"}}, {"name": "ledger", "description": "Interaction with ledger", "externalDocs": {"description": "Overview", "url": "https://hyperledger-indy.readthedocs.io/projects/plenum/en/latest/storage.html#ledger"}}, {"name": "mediation", "description": "Mediation management", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/fa8dc4ea1e667eb07db8f9ffeaf074a4455697c0/features/0211-route-coordination"}}, {"name": "multitenancy", "description": "Multitenant wallet management"}, {"name": "out-of-band", "description": "Out-of-band connections", "externalDocs": {"description": "Design", "url": "https://github.com/hyperledger/aries-rfcs/tree/2da7fc4ee043effa3a9960150e7ba8c9a4628b68/features/0434-outofband"}}, {"name": "present-proof v1.0", "description": "Proof presentation v1.0", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/4fae574c03f9f1013db30bf2c0c676b1122f7149/features/0037-present-proof"}}, {"name": "present-proof v2.0", "description": "Proof presentation v2.0", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/eace815c3e8598d4a8dd7881d8c731fdb2bcc0aa/features/0454-present-proof-v2"}}, {"name": "resolver", "description": "did resolver interface.", "externalDocs": {"description": "Specification"}}, {"name": "revocation", "description": "Revocation registry management", "externalDocs": {"description": "Overview", "url": "https://github.com/hyperledger/indy-hipe/tree/master/text/0011-cred-revocation"}}, {"name": "schema", "description": "Schema operations", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/indy-node/blob/master/design/anoncreds.md#schema"}}, {"name": "trustping", "description": "Trust-ping over connection", "externalDocs": {"description": "Specification", "url": "https://github.com/hyperledger/aries-rfcs/tree/527849ec3aa2a8fd47a7bb6c57f918ff8bcb5e8c/features/0048-trust-ping"}}, {"name": "wallet", "description": "DID and tag policy management", "externalDocs": {"description": "Design", "url": "https://github.com/hyperledger/indy-sdk/tree/master/docs/design/003-wallet-storage"}}]} \ No newline at end of file