For the complete documentation index, see llms.txt. This page is also available as Markdown.

Oid4vci

Endpoints for creating and managing Open ID for verifiable credential issuance

Get credential supported record(s).

get

This endpoint gets credential supported record(s).

Authorizations
x-api-keystringRequired
Query parameters
supported_cred_idstringOptional

The supported_cred_id you would like to filter by

formatstringOptional

The credential format you would like to filter by

identifierstringOptional

The credential identifier you would like to filter by

Responses
200

Ok

application/json
created_atstringOptional
updated_atstringOptional
supported_cred_idstringOptional
formatstringOptional
identifierstringOptional
format_dataobjectOptional
vc_additional_dataobjectOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
displaystring[]Optional
get/api/v1/oid4vci/credentials-supported
GET /api/v1/oid4vci/credentials-supported HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
[
  {
    "supported_cred_id": "dd6384eb-b0b8-4084-af3b-2ddc5668addd",
    "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
    "created_at": "2025-06-23T20:56:23.546Z",
    "cryptographic_binding_methods_supported": null,
    "cryptographic_suites_supported": null,
    "display": null,
    "format": "vc+sd-jwt",
    "format_data": {
      "vct": "ExampleIDCard",
      "claims": {
        "given_name": {
          "mandatory": true,
          "value_type": "string"
        },
        "family_name": {
          "mandatory": true,
          "value_type": "string"
        },
        "something_nested": {
          "key1": {
            "key2": {
              "key3": {
                "mandatory": true,
                "value_type": "string"
              }
            }
          }
        },
        "age_equal_or_over": {
          "12": {
            "mandatory": true,
            "value_type": "boolean"
          },
          "14": {
            "mandatory": true,
            "value_type": "boolean"
          },
          "16": {
            "mandatory": true,
            "value_type": "boolean"
          },
          "18": {
            "mandatory": true,
            "value_type": "boolean"
          },
          "21": {
            "mandatory": true,
            "value_type": "boolean"
          },
          "65": {
            "mandatory": true,
            "value_type": "boolean"
          }
        }
      },
      "display": [
        {
          "name": "ID Card",
          "locale": "en-US",
          "text_color": "#FFFFFF",
          "background_color": "#12107c"
        }
      ],
      "cryptographic_binding_methods_supported": [
        "jwk"
      ]
    },
    "identifier": "IDCard",
    "updated_at": "2025-06-23T20:56:23.546Z",
    "vc_additional_data": {
      "sd_list": [
        "/given_name",
        "/family_name",
        "/age_equal_or_over/12",
        "/age_equal_or_over/14",
        "/age_equal_or_over/16",
        "/age_equal_or_over/18",
        "/age_equal_or_over/21",
        "/age_equal_or_over/65"
      ]
    }
  },
  {
    "supported_cred_id": "e18dcae7-75c7-4ee1-b818-0b0b2e83ef74",
    "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
    "created_at": "2025-06-23T20:56:28.234Z",
    "cryptographic_binding_methods_supported": [
      "did"
    ],
    "cryptographic_suites_supported": [
      "ES256"
    ],
    "display": [
      {
        "logo": {
          "url": "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
          "alt_text": "a square logo of a university"
        },
        "name": "Email Credential",
        "locale": "en-US",
        "text_color": "#FFFFFF",
        "background_color": "#12107c"
      }
    ],
    "format": "jwt_vc_json",
    "format_data": {
      "order": null,
      "types": [
        "VerifiableCredential",
        "EmailCredential"
      ],
      "context": [
        "https://www.w3.org/2018/credentials/v1",
        "https://www.w3.org/2018/credentials/examples/v1"
      ],
      "credentialSubject": {
        "domain": {},
        "address": {},
        "local_part": {},
        "verified_at": {}
      }
    },
    "identifier": "Email - JWT VC",
    "updated_at": "2025-06-23T20:56:28.234Z",
    "vc_additional_data": {
      "type": [
        "VerifiableCredential",
        "EmailCredential"
      ],
      "@context": [
        "https://www.w3.org/2018/credentials/v1",
        "https://www.w3.org/2018/credentials/examples/v1"
      ]
    }
  }
]

Create a credential supported record.

post

This endpoint creates a credential supported record.

Authorizations
x-api-keystringRequired
Body
formatstringOptional
idstringOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
displayobject[]Optional
format_dataobjectOptional
vc_additional_dataobjectOptional
Responses
200

Ok

application/json
created_atstringOptional
updated_atstringOptional
supported_cred_idstringOptional
formatstringOptional
identifieranyOptional
format_dataobjectOptional
vc_additional_dataobjectOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
displaystring[]Optional
post/api/v1/oid4vci/credentials-supported
POST /api/v1/oid4vci/credentials-supported HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 943

{
  "format": "vc+sd-jwt",
  "id": "IDCard",
  "format_data": {
    "cryptographic_binding_methods_supported": [
      "jwk"
    ],
    "display": [
      {
        "name": "ID Card",
        "locale": "en-US",
        "background_color": "#12107c",
        "text_color": "#FFFFFF"
      }
    ],
    "vct": "ExampleIDCard",
    "claims": {
      "given_name": {
        "mandatory": true,
        "value_type": "string"
      },
      "family_name": {
        "mandatory": true,
        "value_type": "string"
      },
      "something_nested": {
        "key1": {
          "key2": {
            "key3": {
              "mandatory": true,
              "value_type": "string"
            }
          }
        }
      },
      "age_equal_or_over": {
        "12": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "14": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "16": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "18": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "21": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "65": {
          "mandatory": true,
          "value_type": "boolean"
        }
      }
    }
  },
  "vc_additional_data": {
    "sd_list": [
      "/given_name",
      "/family_name",
      "/age_equal_or_over/12",
      "/age_equal_or_over/14",
      "/age_equal_or_over/16",
      "/age_equal_or_over/18",
      "/age_equal_or_over/21",
      "/age_equal_or_over/65"
    ]
  }
}
{
  "created_at": "2025-06-23T20:56:23.546Z",
  "updated_at": "2025-06-23T20:56:23.546Z",
  "supported_cred_id": "dd6384eb-b0b8-4084-af3b-2ddc5668addd",
  "format": "vc+sd-jwt",
  "identifier": "IDCard",
  "format_data": {
    "vct": "ExampleIDCard",
    "claims": {
      "given_name": {
        "mandatory": true,
        "value_type": "string"
      },
      "family_name": {
        "mandatory": true,
        "value_type": "string"
      },
      "something_nested": {
        "key1": {
          "key2": {
            "key3": {
              "mandatory": true,
              "value_type": "string"
            }
          }
        }
      },
      "age_equal_or_over": {
        "12": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "14": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "16": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "18": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "21": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "65": {
          "mandatory": true,
          "value_type": "boolean"
        }
      }
    },
    "display": [
      {
        "name": "ID Card",
        "locale": "en-US",
        "text_color": "#FFFFFF",
        "background_color": "#12107c"
      }
    ],
    "cryptographic_binding_methods_supported": [
      "jwk"
    ]
  },
  "vc_additional_data": {
    "sd_list": [
      "/given_name",
      "/family_name",
      "/age_equal_or_over/12",
      "/age_equal_or_over/14",
      "/age_equal_or_over/16",
      "/age_equal_or_over/18",
      "/age_equal_or_over/21",
      "/age_equal_or_over/65"
    ]
  },
  "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
  "cryptographic_binding_methods_supported": null,
  "cryptographic_suites_supported": null,
  "display": null
}

Create a JWT-VC credential supported record.

post

This endpoint creates a JWT-VC credential supported record.

Authorizations
x-api-keystringRequired
Body
@contextobject[]Optional
formatstringOptional
idstringOptional
typeanyOptional
credentialSubjectobjectOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
displayobject[]Optional
orderstring[]Optional
Responses
200

Ok

application/json
created_atstringOptional
updated_atstringOptional
supported_cred_idstringOptional
formatstringOptional
identifierstringOptional
format_dataobjectOptional
vc_additional_dataobjectOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
displaystring[]Optional
post/api/v1/oid4vci/credentials-supported/jwt
POST /api/v1/oid4vci/credentials-supported/jwt HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 616

{
  "cryptographic_binding_methods_supported": [
    "did"
  ],
  "cryptographic_suites_supported": [
    "ES256"
  ],
  "display": [
    {
      "name": "Email Credential",
      "locale": "en-US",
      "logo": {
        "url": "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
        "alt_text": "a square logo of a university"
      },
      "background_color": "#12107c",
      "text_color": "#FFFFFF"
    }
  ],
  "format": "jwt_vc_json",
  "credentialSubject": {
    "verified_at": {},
    "local_part": {},
    "address": {},
    "domain": {}
  },
  "type": [
    "VerifiableCredential",
    "EmailCredential"
  ],
  "id": "Email - JWT VC",
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://www.w3.org/2018/credentials/examples/v1"
  ]
}
{
  "created_at": "2025-06-23T20:56:28.234Z",
  "updated_at": "2025-06-23T20:56:28.234Z",
  "supported_cred_id": "e18dcae7-75c7-4ee1-b818-0b0b2e83ef74",
  "format": "jwt_vc_json",
  "identifier": "Email - JWT VC",
  "cryptographic_binding_methods_supported": [
    "did"
  ],
  "cryptographic_suites_supported": [
    "ES256"
  ],
  "display": [
    {
      "logo": {
        "url": "https://w3c-ccg.github.io/vc-ed/plugfest-1-2022/images/JFF_LogoLockup.png",
        "alt_text": "a square logo of a university"
      },
      "name": "Email Credential",
      "locale": "en-US",
      "text_color": "#FFFFFF",
      "background_color": "#12107c"
    }
  ],
  "format_data": {
    "order": null,
    "types": [
      "VerifiableCredential",
      "EmailCredential"
    ],
    "context": [
      "https://www.w3.org/2018/credentials/v1",
      "https://www.w3.org/2018/credentials/examples/v1"
    ],
    "credentialSubject": {
      "domain": {},
      "address": {},
      "local_part": {},
      "verified_at": {}
    }
  },
  "vc_additional_data": {
    "type": [
      "VerifiableCredential",
      "EmailCredential"
    ],
    "@context": [
      "https://www.w3.org/2018/credentials/v1",
      "https://www.w3.org/2018/credentials/examples/v1"
    ]
  },
  "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff"
}

Create a SD-JWT credential supported record.

post

This endpoint creates SD-JWT a credential supported record.

Authorizations
x-api-keystringRequired
Body
formatstringOptional
idstringOptional
claimsobjectOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
displayobject[]Optional
orderstring[]Optional
sd_liststring[]Optional
vctstringOptional
Responses
200

Ok

application/json
created_atstringOptional
updated_atstringOptional
supported_cred_idstringOptional
formatstringOptional
identifierstringOptional
format_dataobjectOptional
vc_additional_dataobjectOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
displaystring[]Optional
post/api/v1/oid4vci/credentials-supported/sd-jwt
POST /api/v1/oid4vci/credentials-supported/sd-jwt HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 747

{
  "format": "vc+sd-jwt",
  "id": "test",
  "vct": "testCard",
  "claims": {
    "given_name": {
      "mandatory": true,
      "value_type": "string"
    },
    "family_name": {
      "mandatory": true,
      "value_type": "string"
    },
    "something_nested": {
      "key1": {
        "key2": {
          "key3": {
            "mandatory": true,
            "value_type": "string"
          }
        }
      }
    },
    "age_equal_or_over": {
      "12": {
        "mandatory": true,
        "value_type": "boolean"
      },
      "14": {
        "mandatory": true,
        "value_type": "boolean"
      },
      "16": {
        "mandatory": true,
        "value_type": "boolean"
      },
      "18": {
        "mandatory": true,
        "value_type": "boolean"
      },
      "21": {
        "mandatory": true,
        "value_type": "boolean"
      },
      "65": {
        "mandatory": true,
        "value_type": "boolean"
      }
    }
  },
  "sd_list": [
    "/given_name",
    "/family_name",
    "/age_equal_or_over/12",
    "/age_equal_or_over/14",
    "/age_equal_or_over/16",
    "/age_equal_or_over/18",
    "/age_equal_or_over/21",
    "/age_equal_or_over/65"
  ]
}
{
  "created_at": "2025-06-23T22:37:10.953Z",
  "updated_at": "2025-06-23T22:37:10.953Z",
  "supported_cred_id": "3f3427bd-381d-466a-b395-6ed104937ac3",
  "format": "vc+sd-jwt",
  "identifier": "test",
  "format_data": {
    "vct": "testCard",
    "order": null,
    "claims": {
      "given_name": {
        "mandatory": true,
        "value_type": "string"
      },
      "family_name": {
        "mandatory": true,
        "value_type": "string"
      },
      "something_nested": {
        "key1": {
          "key2": {
            "key3": {
              "mandatory": true,
              "value_type": "string"
            }
          }
        }
      },
      "age_equal_or_over": {
        "12": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "14": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "16": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "18": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "21": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "65": {
          "mandatory": true,
          "value_type": "boolean"
        }
      }
    }
  },
  "vc_additional_data": {
    "sd_list": [
      "/given_name",
      "/family_name",
      "/age_equal_or_over/12",
      "/age_equal_or_over/14",
      "/age_equal_or_over/16",
      "/age_equal_or_over/18",
      "/age_equal_or_over/21",
      "/age_equal_or_over/65"
    ]
  },
  "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
  "cryptographic_binding_methods_supported": null,
  "cryptographic_suites_supported": null,
  "display": null
}

Gets a credential supported record by supported_cred_id.

get

This endpoint gets a credential supported record by supported_cred_id.

Authorizations
x-api-keystringRequired
Path parameters
supported_cred_idstringRequired

The supported_cred_id you would like to get

Responses
200

Ok

application/json
created_atstringOptional
updated_atstringOptional
supported_cred_idstringOptional
formatstringOptional
identifierstringOptional
format_dataobjectOptional
vc_additional_dataobjectOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
displaystring[]Optional
get/api/v1/oid4vci/credentials-supported/{supported_cred_id}
GET /api/v1/oid4vci/credentials-supported/{supported_cred_id} HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
  "supported_cred_id": "dd6384eb-b0b8-4084-af3b-2ddc5668addd",
  "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
  "created_at": "2025-06-23T20:56:23.546Z",
  "cryptographic_binding_methods_supported": null,
  "cryptographic_suites_supported": null,
  "display": null,
  "format": "vc+sd-jwt",
  "format_data": {
    "vct": "ExampleIDCard",
    "claims": {
      "given_name": {
        "mandatory": true,
        "value_type": "string"
      },
      "family_name": {
        "mandatory": true,
        "value_type": "string"
      },
      "something_nested": {
        "key1": {
          "key2": {
            "key3": {
              "mandatory": true,
              "value_type": "string"
            }
          }
        }
      },
      "age_equal_or_over": {
        "12": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "14": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "16": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "18": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "21": {
          "mandatory": true,
          "value_type": "boolean"
        },
        "65": {
          "mandatory": true,
          "value_type": "boolean"
        }
      }
    },
    "display": [
      {
        "name": "ID Card",
        "locale": "en-US",
        "text_color": "#FFFFFF",
        "background_color": "#12107c"
      }
    ],
    "cryptographic_binding_methods_supported": [
      "jwk"
    ]
  },
  "identifier": "IDCard",
  "updated_at": "2025-06-23T20:56:23.546Z",
  "vc_additional_data": {
    "sd_list": [
      "/given_name",
      "/family_name",
      "/age_equal_or_over/12",
      "/age_equal_or_over/14",
      "/age_equal_or_over/16",
      "/age_equal_or_over/18",
      "/age_equal_or_over/21",
      "/age_equal_or_over/65"
    ]
  }
}

Delete a credential supported record.

delete

This endpoint deletes a credential supported record.

Authorizations
x-api-keystringRequired
Path parameters
supported_cred_idstringRequired

The supported_cred_id you would like to delete

Responses
200

Ok

No content

delete/api/v1/oid4vci/credentials-supported/{supported_cred_id}
DELETE /api/v1/oid4vci/credentials-supported/{supported_cred_id} HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*

No content

List registered mDoc credential types.

get
Authorizations
x-api-keystringRequired
Query parameters
doctypestringOptional
config_idstringOptional
Responses
200

List of mDoc credential type configurations.

application/json
object[]Optional
get/api/v1/oid4vci/credentials-supported/mdoc
GET /api/v1/oid4vci/credentials-supported/mdoc HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
[
  {
    "config_id": "c4d8f7f2-f8d0-4d0b-93d0-9f9f31a5c003",
    "wallet_id": "wallet-123",
    "doctype": "org.iso.18013.5.1.mDL",
    "supported_cred_id": "9fd5ef9d-b8b8-4f52-b6a9-95b9ce4f6f8a",
    "format": "mso_mdoc",
    "label": "Mobile Driver's License",
    "description": "ISO 18013-5 Mobile Driver's License",
    "created_at": "2026-03-10T18:30:00.000Z",
    "updated_at": "2026-03-10T18:30:00.000Z"
  }
]

Register an mDoc credential type.

post
Authorizations
x-api-keystringRequired
Body
doctypestringRequired
labelstringOptional
descriptionstringOptional
displayobject[]Optional
verification_methodstringOptional
issuer_idstringOptional
claims_schemaobjectOptional
vc_additional_dataobjectOptional
cryptographic_binding_methods_supportedstring[]Optional
cryptographic_suites_supportedstring[]Optional
proof_types_supportedobjectOptional
Responses
200

mDoc type registered.

application/json
objectOptional
post/api/v1/oid4vci/credentials-supported/mdoc
POST /api/v1/oid4vci/credentials-supported/mdoc HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 121

{
  "doctype": "org.iso.18013.5.1.mDL",
  "label": "Mobile Driver's License",
  "description": "ISO 18013-5 Mobile Driver's License"
}
{
  "agentRecord": {
    "supported_cred_id": "9fd5ef9d-b8b8-4f52-b6a9-95b9ce4f6f8a",
    "identifier": "org.iso.18013.5.1.mDL",
    "format": "mso_mdoc",
    "display": [
      {
        "name": "org.iso.18013.5.1.mDL"
      }
    ],
    "format_data": {
      "doctype": "org.iso.18013.5.1.mDL",
      "claims": {}
    }
  },
  "dbConfig": {
    "config_id": "c4d8f7f2-f8d0-4d0b-93d0-9f9f31a5c003",
    "wallet_id": "wallet-123",
    "doctype": "org.iso.18013.5.1.mDL",
    "supported_cred_id": "9fd5ef9d-b8b8-4f52-b6a9-95b9ce4f6f8a",
    "format": "mso_mdoc",
    "label": "Mobile Driver's License",
    "description": "ISO 18013-5 Mobile Driver's License",
    "created_at": "2026-03-10T18:30:00.000Z",
    "updated_at": "2026-03-10T18:30:00.000Z"
  }
}

Get credential exchange record(s).

get

This endpoint gets credential exchange record(s).

Authorizations
x-api-keystringRequired
Query parameters
exchange_idstringOptional

The exchange_id you would like to filter by

statestringOptional

The state you would like to filter by.

supported_cred_idstringOptional

The supported_cred_id you would like to filter by

doctypestringOptional

Optional mDoc doctype filter.

connection_idstringOptional

Optional mDoc connection_id filter.

config_idstringOptional

Optional mDoc config_id filter.

Responses
200

Ok

application/json
exchange_idstringOptional
supported_cred_idstringOptional
config_idstringOptional
doctypestringOptional
statestringOptional
credential_subjectobjectOptional
verification_methodstringOptional
issuer_idstringOptional
connection_idstringOptional
contact_idstringOptional
cbor_encodedstringOptional
labelstringOptional
errorstringOptional
codestringOptional
noncestringOptional
tokenstringOptional
created_atstringOptional
updated_atstringOptional
get/api/v1/oid4vci/exchanges
GET /api/v1/oid4vci/exchanges HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
[
  {
    "exchange_id": "253eb7bc-5060-45e4-bc06-fb006d1654ce",
    "supported_cred_id": "dd6384eb-b0b8-4084-af3b-2ddc5668addd",
    "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
    "state": "offer",
    "pin": null,
    "credential_subject": {},
    "verification_method": "did:sov:Qi5LPB4mtKfbhQqC2f6yPj#key-1",
    "issuer_id": "did:sov:Qi5LPB4mtKfbhQqC2f6yPj",
    "code": "iQ7DWmf2vjogMtQ_bdrDQg",
    "nonce": null,
    "token": null,
    "created_at": "2025-06-23T21:04:42.554Z",
    "updated_at": "2025-06-23T21:04:42.571Z"
  },
  {
    "exchange_id": "5d78070b-527a-4267-afc4-c4cb385ed6fb",
    "supported_cred_id": "e18dcae7-75c7-4ee1-b818-0b0b2e83ef74",
    "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
    "state": "offer",
    "pin": null,
    "credential_subject": {},
    "verification_method": "did:sov:Qi5LPB4mtKfbhQqC2f6yPj#key-1",
    "issuer_id": "did:sov:Qi5LPB4mtKfbhQqC2f6yPj",
    "code": "QYU7Io9wO13VGt7fshoMQg",
    "nonce": null,
    "token": null,
    "created_at": "2025-06-23T21:05:07.459Z",
    "updated_at": "2025-06-23T21:05:07.488Z"
  }
]

Get a credential exchange record by exchange_id.

get

This endpoint gets a credential exchange record by exchange_id.

Authorizations
x-api-keystringRequired
Path parameters
exchange_idstringRequired

The exchange_id you would like to get

Responses
200

Ok

application/json
exchange_idstringOptional
supported_cred_idstringOptional
statestringOptional
credential_subjectobjectOptional
verification_methodstringOptional
issuer_idstringOptional
codestringOptional
noncestringOptional
tokenstringOptional
created_atstringOptional
updated_atstringOptional
get/api/v1/oid4vci/exchanges/{exchange_id}
GET /api/v1/oid4vci/exchanges/{exchange_id} HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
  "exchange_id": "253eb7bc-5060-45e4-bc06-fb006d1654ce",
  "supported_cred_id": "dd6384eb-b0b8-4084-af3b-2ddc5668addd",
  "wallet_id": "c286d1c7-c548-48d1-8580-76d3fe317bff",
  "state": "offer",
  "pin": null,
  "credential_subject": {},
  "verification_method": "did:sov:Qi5LPB4mtKfbhQqC2f6yPj#key-1",
  "issuer_id": "did:sov:Qi5LPB4mtKfbhQqC2f6yPj",
  "code": "iQ7DWmf2vjogMtQ_bdrDQg",
  "nonce": null,
  "token": null,
  "created_at": "2025-06-23T21:04:42.554Z",
  "updated_at": "2025-06-23T21:04:42.571Z"
}

Delete a credential exchange record.

delete

This endpoint deletes a credential exchange record.

Authorizations
x-api-keystringRequired
Path parameters
exchange_idstringRequired

The exchange_id you would like to delete

Responses
200

Ok

No content

delete/api/v1/oid4vci/exchanges/{exchange_id}
DELETE /api/v1/oid4vci/exchanges/{exchange_id} HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*

No content

Creates a credential exchange, and gets an offer.

post

This endpoint creates a credential exchange and gets an offer.

Authorizations
x-api-keystringRequired
Body
credential_subjectobjectOptional
supported_cred_idstringOptional
didstringOptional
verification_methodstringOptional
pinstringOptional
labelstringOptional
connection_idstringOptional
Responses
200

Ok

application/json
credential_offerstringOptional

A URL encoded OpenID credential offer URI (openid-credential-offer://)

post/api/v1/oid4vci/issue
POST /api/v1/oid4vci/issue HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 305

{
  "supported_cred_id": "dd6384eb-b0b8-4084-af3b-2ddc5668addd",
  "credential_subject": {
    "given_name": "Caleb",
    "family_name": "Bob",
    "something_nested": {
      "key1": {
        "key2": {
          "key3": "something nested"
        }
      }
    },
    "source_document_type": "id_card",
    "age_equal_or_over": {
      "12": true,
      "14": true,
      "16": true,
      "18": true,
      "21": true,
      "65": false
    }
  }
}
{
  "offer": {
    "credential_issuer": "https://example/oid4vc/tenant/c286d1c7-c548-48d1-8580-76d3fe317bff",
    "credentials": [
      "IDCard"
    ],
    "grants": {
      "urn:ietf:params:oauth:grant-type:pre-authorized_code": {
        "pre-authorized_code": "iQ7DWmf2vjogMtQ_bdrDQg",
        "user_pin_required": false
      }
    }
  },
  "credential_offer": "openid-credential-offer://?credential_offer=%7B%22credential_issuer%22%3A%20%22https%3A//example/oid4vc/tenant/c286d1c7-c548-48d1-8580-76d3fe317bff%22%2C%20%22credentials%22%3A%20%5B%22IDCard%22%5D%2C%20%22grants%22%3A%20%7B%22urn%3Aietf%3Aparams%3Aoauth%3Agrant-type%3Apre-authorized_code%22%3A%20%7B%22pre-authorized_code%22%3A%20%22iQ7DWmf2vjogMtQ_bdrDQg%22%2C%20%22user_pin_required%22%3A%20false%7D%7D%7D",
  "exchange": {
    "state": "created",
    "created_at": "2025-06-23T21:04:42.554462Z",
    "updated_at": "2025-06-23T21:04:42.554462Z",
    "exchange_id": "253eb7bc-5060-45e4-bc06-fb006d1654ce",
    "supported_cred_id": "dd6384eb-b0b8-4084-af3b-2ddc5668addd",
    "credential_subject": {
      "given_name": "Caleb",
      "family_name": "Bob",
      "something_nested": {
        "key1": {
          "key2": {
            "key3": "something nested"
          }
        }
      },
      "source_document_type": "id_card",
      "age_equal_or_over": {
        "12": true,
        "14": true,
        "16": true,
        "18": true,
        "21": true,
        "65": false
      }
    },
    "verification_method": "did:sov:Qi5LPB4mtKfbhQqC2f6yPj#key-1",
    "issuer_id": "did:sov:Qi5LPB4mtKfbhQqC2f6yPj"
  }
}

Provision mDoc issuer key material.

post
Authorizations
x-api-keystringRequired
Body
forcebooleanOptional
Responses
200

mDoc issuer keys provisioned.

application/json
objectOptional
post/api/v1/oid4vci/setup/mdoc
POST /api/v1/oid4vci/setup/mdoc HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 15

{
  "force": false
}
{
  "key_id": "8d3e8f18-5e7d-4f1a-a72b-1db2f1d0c001",
  "cert_id": "6af84a3c-b6e9-4b1c-844a-6ce6a1f2d002",
  "message": "mDoc issuer keys provisioned successfully."
}

Fetch mDoc issuer readiness status.

get
Authorizations
x-api-keystringRequired
Responses
200

mDoc issuer readiness status.

application/json
objectOptional
get/api/v1/oid4vci/status/mdoc
GET /api/v1/oid4vci/status/mdoc HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
  "keys": [
    {
      "key_id": "8d3e8f18-5e7d-4f1a-a72b-1db2f1d0c001",
      "cert_id": "6af84a3c-b6e9-4b1c-844a-6ce6a1f2d002"
    }
  ],
  "defaultCertificate": {
    "cert_id": "6af84a3c-b6e9-4b1c-844a-6ce6a1f2d002",
    "key_id": "8d3e8f18-5e7d-4f1a-a72b-1db2f1d0c001",
    "subject_dn": "CN=Proven mDoc Issuer",
    "issuer_dn": "CN=Proven mDoc Issuer"
  },
  "trustAnchors": []
}

Last updated