SECURITY · DEVELOPER
Wallets, credential templates, and issuance and verification sessions.
Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.
Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.
Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.
Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.
paradym_delete_v1_wallets_by_walletid_attribute_providers_by_attributeprovideridWRITEDeletes an attribute provider. It is not possible to delete an attribute provider that is referenced by any credential template. First, disconnect the attribute provider from all relevant credential templates. via DELETE /v1/wallets/{walletId}/attribute-providers/{attributeProviderId}
paradym_delete_v1_wallets_by_walletid_authorization_servers_by_authorizationserveridWRITEDeletes an authorization server. It is not possible to delete an authorization server that is referenced by any credential template. First, disconnect the authorization server from all relevant credential templates. via DELETE /v1/wallets/{walletId}/authorization-servers/{authorizationServerId}
paradym_delete_v1_wallets_by_walletid_certificates_csrs_by_certificatesigningrequestidWRITEDelete a certificate signing request. via DELETE /v1/wallets/{walletId}/certificates/csrs/{certificateSigningRequestId}
paradym_delete_v1_wallets_by_walletid_didcomm_connections_by_didcommconnectionidWRITEDelete a specific DIDComm connection by its id. via DELETE /v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId}
paradym_delete_v1_wallets_by_walletid_didcomm_invitations_by_didcomminvitationidWRITEDelete a specific DIDComm invitation by its id. via DELETE /v1/wallets/{walletId}/didcomm/invitations/{didcommInvitationId}
paradym_delete_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid_connections_by_didcommmediatorconnectionidWRITEDelete a mediator connection. If the connection has not been established yet, this will revoke the allowance for a mediator connection. If a connection has already been established, this will delete the conneciton and prevent the wallet from using the mediator going forward. via DELETE /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections/{didcommMediatorConnectionId}
paradym_delete_v1_wallets_by_walletid_templates_credentials_anoncreds_by_credentialtemplateidWRITEArchive an `anoncreds` credential template by its id. via DELETE /v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}
paradym_delete_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateidWRITEArchive a specific `mdoc` credential template by its id. via DELETE /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}
paradym_delete_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateidWRITEArchive a specific `sd-jwt-vc` credential template by its id. via DELETE /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}
paradym_delete_v1_wallets_by_walletid_templates_presentations_by_presentationtemplateidWRITEArchive a specific presentation template by its id. via DELETE /v1/wallets/{walletId}/templates/presentations/{presentationTemplateId}
paradym_delete_v1_wallets_by_walletid_trusted_entities_by_trustedentityidWRITEDelete a trusted entity by its id. NOTE: If the trusted entity is referenced in any presentation template it is not possible to remove the entity. First, remove the trusted entity from all presentation templates that reference this trusted entity. via DELETE /v1/wallets/{walletId}/trusted-entities/{trustedEntityId}
paradym_delete_v1_wallets_by_walletid_webhooks_by_webhookidWRITEDelete a webhook by ID. via DELETE /v1/wallets/{walletId}/webhooks/{webhookId}
paradym_get_v1_walletsREADRetrieve all wallets for the user associated with the API key being used for the request. ## Example An example query that searches for all wallets where the name includes "Example" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets?search[name]=Example&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `name` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets
paradym_get_v1_wallets_by_walletid_attribute_providersREADRetrieve all attribute providers associated with the provided `walletId`. ## Example An example query that searches for all attribute providers and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/attribute-providers?sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `url`, `name` - search: `url`, `name` - sort: `createdAt`, `updatedAt`, `id` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/attribute-providers
paradym_get_v1_wallets_by_walletid_attribute_providers_by_attributeprovideridREADRetrieves an attribute provider by its id. via GET /v1/wallets/{walletId}/attribute-providers/{attributeProviderId}
paradym_get_v1_wallets_by_walletid_authorization_serversREADRetrieve all authorization servers associated with the provided `walletId`. ## Example An example query that searches for all authorization servers and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/authorization-servers?sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `url`, `name` - search: `url`, `name` - sort: `createdAt`, `updatedAt`, `id` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/authorization-servers
paradym_get_v1_wallets_by_walletid_authorization_servers_by_authorizationserveridREADRetrieves an authorization server by its id. via GET /v1/wallets/{walletId}/authorization-servers/{authorizationServerId}
paradym_get_v1_wallets_by_walletid_certificatesREADRetrieve all certificates associated with the provided `walletId`. ## Example An example query that searches for all certificates and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/certificates?sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `type`, `keyType`, `subjectKeyIdentifier` - search: - - sort: `createdAt`, `updatedAt`, `id`, `type`, `keyType` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/certificates
paradym_get_v1_wallets_by_walletid_certificates_csrsREADRetrieve all certificate signing requests associated with the provided `walletId`. ## Example An example query that searches for all certificate signing requests and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/certificates/csrs?sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `type`, `keyType`, `subjectKeyIdentifier` - search: - - sort: `createdAt`, `updatedAt`, `expiresAt`, `id`, `type`, `keyType` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/certificates/csrs
paradym_get_v1_wallets_by_walletid_didcomm_connectionsREADRetrieve all DIDComm connections associated with the provided `walletId`. ## Example An example query that searches for all didcomm connections where displayName includes "Wallet" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/didcomm/connections?search[displayName]=Wallet&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `displayName`, `didcommInvitationId` - search: `displayName` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/connections
paradym_get_v1_wallets_by_walletid_didcomm_connections_by_didcommconnectionidREADRetrieve a specific DIDComm connection by its id. via GET /v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId}
paradym_get_v1_wallets_by_walletid_didcomm_invitationsREADRetrieve all DIDComm invitations associated with the provided `walletId`. ## Example An example query that searchs for all didcomm invitations where reusable is set to `false` and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/didcomm/invitations?filter[reusable]=false&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `reusable` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/invitations
paradym_get_v1_wallets_by_walletid_didcomm_invitations_by_didcomminvitationidREADRetrieve a specific DIDComm invitation by its id. via GET /v1/wallets/{walletId}/didcomm/invitations/{didcommInvitationId}
paradym_get_v1_wallets_by_walletid_didcomm_issuanceREADRetrieve all DIDComm issuance sessions associated with the provided `walletId`. ## Example An example query that searches for all issuance sessions where the status is "offered" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/didcomm/issuance?filter[status]=offered&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `createdAt`, `updatedAt`, `status`, `didcommConnectionId`, `didcommInvitationId` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/issuance
paradym_get_v1_wallets_by_walletid_didcomm_issuance_by_didcommissuanceidREADRetrieve a specific DIDComm issuance session by its id. via GET /v1/wallets/{walletId}/didcomm/issuance/{didcommIssuanceId}
paradym_get_v1_wallets_by_walletid_didcomm_mediatorsREADGet all the mediators for the current user. All of these you can use to allow certain public keys to connect to the mediator. We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `sort` - Sort the results by the given property. The default is `sort=-id`. We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/mediators
paradym_get_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatoridREADGet a specific DIDcomm mediator by its id. via GET /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}
paradym_get_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid_connectionsREADThis gives the possibility to fetch mediator connections. We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `sort` - Sort the results by the given property. The following parameters are supported for this endpoint: - filter: `id`, `status`, `initialPublicKeyBase58` - search: - - sort: `id`, `createdAt`, `updatedAt` We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections
paradym_get_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid_connections_by_didcommmediatorconnectionidREADGet a specific mediator connection by its id. via GET /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections/{didcommMediatorConnectionId}
paradym_get_v1_wallets_by_walletid_didcomm_verificationREADRetrieve all DIDComm verification sessions associated with the provided `walletId`. ## Example An example query that searches for all verification sessions where the status is "offered" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/didcomm/verification?filter[status]=offered&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `createdAt`, `updatedAt`, `status`, `presentationTemplateId` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/didcomm/verification
paradym_get_v1_wallets_by_walletid_didcomm_verification_by_didcommverificationidREADRetrieve a DIDComm verification session by its ID. via GET /v1/wallets/{walletId}/didcomm/verification/{didcommVerificationId}
paradym_get_v1_wallets_by_walletid_didsREADRetrieve all DIDs associated with the provided `walletId`. ## Example An example query that searches for all dids where method is `cheqd` and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/dids?filter[method]=cheqd&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `did`, `method`, `network` - search: `did` - sort: `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/dids
paradym_get_v1_wallets_by_walletid_issuanceREADRetrieve all issued credentials associated with the provided `walletId`. ## Example An example query that searches for all issued credentials where the format is `sd-jwt-vc`, there is no exchange and limiting the page size to 10 ``` /v1/wallets/{walletId}/issuance?filter[format]=sd-jwt-vc&filter[exchange]=null&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `format`, `status`, `credentialTemplateId`, `exchange` (pass 'null' for looking for issued credentials without exchange) - search: - - sort: `id` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/issuance
paradym_get_v1_wallets_by_walletid_membersREADRetrieve all members associated with the provided `walletId`. ## Example An example query that searches for all members where in wallet, limiting the page size to 10 ``` /v1/wallets/{walletId}/members?page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id` - search: - - sort: `id` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/members
paradym_get_v1_wallets_by_walletid_openid4vc_issuanceREADRetrieve all OpenID4VC issuance sessions associated with the provided `walletId`. ## Example An example query that searches for all issuance sessions where the status is "offered" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/openid4vc/issuance?filter[status]=offered&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `createdAt`, `updatedAt`, `status` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/openid4vc/issuance
paradym_get_v1_wallets_by_walletid_openid4vc_issuance_by_openid4vcissuanceidREADRetrieve a specific OpenID4VC issuance session by its id. via GET /v1/wallets/{walletId}/openid4vc/issuance/{openId4VcIssuanceId}
paradym_get_v1_wallets_by_walletid_openid4vc_verificationREADRetrieve all OpenID4VC verification sessions associated with the provided `walletId`. ## Example An example query that searches for all verification sessions where the status is "requested" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/openid4vc/verification?filter[status]=requested&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `createdAt`, `updatedAt`, `status`, `presentationTemplateId` - search: - - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/openid4vc/verification
paradym_get_v1_wallets_by_walletid_openid4vc_verification_by_openid4vcverificationidREADRetrieve a specific OpenID4VC verification session by its id. via GET /v1/wallets/{walletId}/openid4vc/verification/{openId4VcVerificationId}
paradym_get_v1_wallets_by_walletid_profiles_defaultREADRetrieves the default profile of the wallet. The wallet profile contains which version of the OpenID for Verifiable Credentials specification suite to use, and the public information about the wallet for display purposes. If there is no profile, a new one will automatically be created with the wallet's name as display name. via GET /v1/wallets/{walletId}/profiles/default
paradym_get_v1_wallets_by_walletid_templates_credentials_anoncredsREADRetrieve all `anoncreds` credential templates associated with the provided `walletId`. ## Example An example query that searches for all Anoncreds credential templates where the name includes "My Template" and are not revocable, ordering them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/templates/credentials/anoncreds?filter[revocable]=false&search[name]=My Template&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id`, `revocable`, `archived` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/templates/credentials/anoncreds
paradym_get_v1_wallets_by_walletid_templates_credentials_anoncreds_by_credentialtemplateidREADRetrieve a specific `anoncreds` credential template by its id. via GET /v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}
paradym_get_v1_wallets_by_walletid_templates_credentials_anoncreds_by_credentialtemplateid_json_schemaREADGet the JSON schema for an `anoncreds` credential template. You could use this for to generate forms or validate the input. via GET /v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}/json-schema
paradym_get_v1_wallets_by_walletid_templates_credentials_mdocREADRetrieve all `mdoc` credential templates associated with the provided `walletId`. ## Example An example query that searches for all mDoc VC credential templates where the name includes "My Template", ordering them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/templates/credentials/mdoc?filter?search[name]=My Template&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - filter: `id`, `type`, `archived` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) - include: - `trustedWallets` - load the Trusted Entities that are allowed to receive this credential. ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/templates/credentials/mdoc
paradym_get_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateidREADRetrieve a specific `mdoc` credential template by its id. This endpoint supports the following query parameters: - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - include: - `trustedWallets` - load the Trusted Entities that are allowed to receive this credential. via GET /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}
paradym_get_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateid_json_schemaREADGet the JSON schema for an `mdoc` credential template. You could use this for to generate forms or validate the input. via GET /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}/json-schema
paradym_get_v1_wallets_by_walletid_templates_credentials_sd_jwt_vcREADRetrieve all `sd-jwt-vc` credential templates associated with the provided `walletId`. ## Example An example query that searches for all SD-JWT VC credential templates where the name includes "My Template" and are not revocable, ordering them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc?filter[revocable]=false&search[name]=My Template&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - filter: `id`, `type`, `revocable`, `archived` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) - include: - `trustedWallets` - load the Trusted Entities that are allowed to receive this credential. ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc
paradym_get_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateidREADRetrieve a specific `sd-jwt-vc` credential template by its id. This endpoint supports the following query parameters: - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - include: - `trustedWallets` - load the Trusted Entities that are allowed to receive this credential. via GET /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}
paradym_get_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid_json_schemaREADGet the JSON schema for an `sd-jwt-vc` credential template. You could use this for to generate forms or validate the input. via GET /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/json-schema
paradym_get_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid_type_metadataREADGet the SD-JWT VC type metadata for an `sd-jwt-vc` credential template. The `typeMetadata` object is the document described by the [SD-JWT VC Type Metadata documentation](https://docs.paradym.id/api-and-dashboard/credential-metadata#sd-jwt-vc-type-metadata). The `typeMetadataLocation` field indicates who hosts the document: - `managed` — the template uses a Paradym-generated VCT (`type`) URI, and Paradym automatically (re)hosts the document at that URI whenever the template is updated. - `manual` — the template uses a custom VCT URI. Paradym does **not** host the document and it is **not** automatically updated; you must publish the returned `typeMetadata` document at the VCT URI yourself (and re-publish after each update). via GET /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/type-metadata
paradym_get_v1_wallets_by_walletid_templates_presentationsREADRetrieve all presentation templates associated with the provided `walletId`. ## Example An example query that searches for all presentation templates where the name includes "My Template", ordering them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/templates/presentations?search[name]=My Template&sort[-createdAt]&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - filter: `id` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) - include: - `credentials.trustedIssuers` - load the TrustedEntitites associated with a requested credential. ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/templates/presentations
paradym_get_v1_wallets_by_walletid_templates_presentations_by_presentationtemplateidREADRetrieve a specific presentation template by its id. This endpoint supports the following query parameters: - `include` - Include a relation model in the response. The following parameters are supported for this endpoint: - include: - `credentials.trustedIssuers` - load the TrustedEntitites associated with a requested credential. via GET /v1/wallets/{walletId}/templates/presentations/{presentationTemplateId}
paradym_get_v1_wallets_by_walletid_trusted_entitiesREADRetrieve all trusted entities associated with the provided `walletId`. ## Example An example query that searches for all trusted entities where name includes 'EUDI' and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/trusted-entities?search[name]=EUDI&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `name`, `id` - search: `name` - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/trusted-entities
paradym_get_v1_wallets_by_walletid_trusted_entities_by_trustedentityidREADRetrieve a specific trusted entity by its id. via GET /v1/wallets/{walletId}/trusted-entities/{trustedEntityId}
paradym_get_v1_wallets_by_walletid_webhooksREADRetrieve all webhooks associated associated with the provided `walletId`. ## Example An example query that searches for all webhooks where the name includes "Example" and order them by the date they were created descending, limiting the page size to 10 ``` /v1/wallets/{walletId}/webhooks?search[name]=Example&sort=-createdAt&page[size]=10 ``` ## Query parameters We are using the [JSON:API 1.1](https://jsonapi.org/) specification for requesting a list of entities. From this specification we support the following query parameters: - `filter[<property>]` - Filter the results by the given property. You can filter by multiple properties by providing multiple `filter[<property>]` query parameters. At the moment it's only possible to filter the properties in the root of the object. Also, some properties are not filterable because of performance reasons. - `search[<property>]` - Search the results by the given sub-value of a property case-insensitive. You can search by multiple properties by providing multiple `search[<property>]` query parameters. - `sort` - Sort the results by the given property. If you want to sort in descending order you can prefix the property with a `-`. The following parameters are supported for this endpoint: - filter: `id` - search: `name`, 'url' - sort: `id`, `createdAt`, `updatedAt` (default: `sort=-id`) ## Pagination We also implemented the [Cursor Pagination Profile](https://jsonapi.org/profiles/ethanresnick/cursor-pagination/) for pagination. This means that you can use the `page[size]`, `page[before]` and `page[after]` query parameters to retrieve the next or previous page of results. The `page[size]` parameter is used to set the number of items per page. The `page[before]` and `page[after]` parameters are used to set the cursor. The cursor is the ID of the last item on the previous page, or the first item on the next page. via GET /v1/wallets/{walletId}/webhooks
paradym_patch_v1_wallets_by_walletidWRITEUpdates a wallet by only replacing the provided settings. via PATCH /v1/wallets/{walletId}
paradym_post_v1_walletsWRITECreates a new wallet under the user which is associated with the API key being used for the request. The user will be the owner of the wallet. Creating multiple wallets is not available in the Free tier. Note that the wallet cannot be deleted yet so be careful with creating wallets. via POST /v1/wallets
paradym_post_v1_wallets_by_walletidWRITEDeprecated in the provider's API -- Use the PUT endpoint instead. via POST /v1/wallets/{walletId}
paradym_post_v1_wallets_by_walletid_attribute_providersWRITECreate a new attribute provider. via POST /v1/wallets/{walletId}/attribute-providers
paradym_post_v1_wallets_by_walletid_authorization_serversWRITECreate a new authorization server. via POST /v1/wallets/{walletId}/authorization-servers
paradym_post_v1_wallets_by_walletid_certificatesWRITECreate a new certificate of a specific type. The following certificate types can be created: - `verifierRoot` - `issuerRoot` You can also import an externally signed `issuerSignCredential` or `verifierSignRequest` certificate using the Certificate Signing Request API. When creating a root certificate you must provide: - `keyType` - the type of the key used for signing the certificate. Supported are P-256 and Ed25519 - `countryName` - uppercase alpha-2 country code as defined in ISO 3166-1 - `commonName` - name of the certificate issuer/subject, if not provided the url of the of the issuer/verifier will be used (depending on the type of the certificate) Note that the following certificates are automatically created by Paradym based on the created root certificate: - `verifierSignRequest` - `issuerSignCredential` Also note that you can have at most one `active` and one `pendingActivation` certificate that is manually created (either through this endpoint or the Certificate Signing Request API) for each certificate category (issuer/verifier) and `keyType`, allowing for rotation. via POST /v1/wallets/{walletId}/certificates
paradym_post_v1_wallets_by_walletid_certificates_by_certificateid_activateWRITEActivates a certificate. The following certificate types can be activated: - `verifierRoot` - `issuerRoot` - externally signed `issuerSignCredential` - externally signed `verifierSignRequest` Note that certificates can only be activated if they are in the `pendingActivation` state. When activating a certificate, any existing certificates within the same category (issuer/verifier) and keyType will be deactivated. via POST /v1/wallets/{walletId}/certificates/{certificateId}/activate
paradym_post_v1_wallets_by_walletid_certificates_by_certificateid_deactivateWRITEDeactivates a certificate. The following certificate types can be deactivated: - `verifierRoot` - `issuerRoot` - `issuerSignCredential` - `verifierSignRequest` Deactivating a certificate will not invalidate any signatures created with this certificate. If you want to invalidate all signatures created with this certificate, revoke the certificate instead. Note that certificates can only be deactivated if they are in the `active` or `pendingActivation` state. When deactivating a certificate and there's a `pendingActivation` certificate within the same category (issuer/verifier) and keyType, it will be activated. When revoking a root certificate, all children certificates that are not already inactive, revoked or expired will be deactivated as well. via POST /v1/wallets/{walletId}/certificates/{certificateId}/deactivate
paradym_post_v1_wallets_by_walletid_certificates_by_certificateid_revokeWRITERevokes a certificate. The following certificate types can be revoked: - `verifierRoot` - `verifierSignRequest` - only if not externally signed - `issuerRoot` - `issuerSignCredential` - only if not externally signed Revoking a certificate will invalidate any signatures created with this certificate. If you want to ensure all previous signatures created with this certificate remain valid, deactivate the certificate instead. Since revocation is managed by the certificate issuer, it is not possible to revoke certificates imported through a certificate signing request. Instead, reach out to the certificate issuer. Note that certificates can only be revoked if they are in `pendingActivation`, `active`, or `inactive` state. When revoking a root certificate, all children certificates that are not already revoked or expired will be revoked as well. via POST /v1/wallets/{walletId}/certificates/{certificateId}/revoke
paradym_post_v1_wallets_by_walletid_certificates_csrsWRITECreate a new certificate signing request based on the [PKCS #10](https://datatracker.ietf.org/doc/html/rfc2986) specification. Creating externally signed certificates is not available in the Free tier. The returned certificate signing request is encoded as PEM. When creating a certificate signing request you must provide: - `type` - the type of the certificate signing request - `keyType` - the type of the key to include in the certificate signing request. Supported are P-256 and Ed25519 - `countryName` - uppercase alpha-2 country code as defined in ISO 3166-1 - `commonName` - name of the certificate subject, if not provided the url of the issuer/verifier will be used (depending on the type of the certificate) Optionally you can provide specific `capabilities` that must be supported for this certificate. via POST /v1/wallets/{walletId}/certificates/csrs
paradym_post_v1_wallets_by_walletid_certificates_csrs_by_certificatesigningrequestid_importWRITEImport a certificate for a certificate signing request. Once a certificate signing request has been created, you can use this endpoint to import the signed certificate. The certificate will be validated against the certificate signing request to ensure it matches the requested certificate. Creating externally signed certificates is not available in the Free tier. The certificate must: - Be valid and properly formatted - Have a public key that matches the CSR's public key - Have the same subject as the CSR - Have the expected subject alternative names - Have the required key usage and extended key usage extensions - Have a validity period that does not exceed the maximum allowed validity period (457 days) via POST /v1/wallets/{walletId}/certificates/csrs/{certificateSigningRequestId}/import
paradym_post_v1_wallets_by_walletid_didcomm_connections_by_didcommconnectionidWRITEUpdate a specific DIDComm connection by its id. You can only update the `displayName`. via POST /v1/wallets/{walletId}/didcomm/connections/{didcommConnectionId}
paradym_post_v1_wallets_by_walletid_didcomm_invitations_create_connectionWRITECreate a DIDComm connection invitation. The invitation will be a `https://didcomm.org/out-of-band` invitation, leveraging `https://didcomm.org/didexchange/1.x` (where `x` may be any version) as the value for `handshake_protocols`. The invitation will automatically expire 30 days after it was created. via POST /v1/wallets/{walletId}/didcomm/invitations/create-connection
paradym_post_v1_wallets_by_walletid_didcomm_invitations_receiveWRITEReceive a DIDComm invitation. Only `https://didcomm.org/out-of-band` invitations using `handshake_protocols` including `https://didcomm.org/didexchange/1.x` (where `x` may be any version) are supported. Invitations including attached messages, using no `handshake_protocols`, or using a handshake protocol different than DID Exchange will result in an error. via POST /v1/wallets/{walletId}/didcomm/invitations/receive
paradym_post_v1_wallets_by_walletid_didcomm_issuance_offerWRITECreate or send a DIDComm issuance offer for the provided credential. Only credential templates for the `anoncreds` format are currently supported for usage with DIDComm offers. If a `didcommConnectionId` is provided the offer will be sent directly to the connection, if no `didcommConnectionId` is provided, an invitation will be created containing the message. You can optionally provide `createConnection` to also create a connection as part of the credential issuance so you can use it for future exchanges with the holder. If an invitation will be created, it will be returned as part of this method. If you need the invitation in the future, you can fetch it based on the `didcommInvitationId` available in the DIDComm issuance session. The offer and invitation will automatically expire 30 days after it was created. See the API execution part of the [Issue Credential](https://docs.paradym.id/api-and-dashboard/issue-credentials) guide for more information. via POST /v1/wallets/{walletId}/didcomm/issuance/offer
paradym_post_v1_wallets_by_walletid_didcomm_mediators_by_didcommmediatorid_connectionsWRITEAllow a mediator connection to be created based on a specific public key. When the wallet tries to connect with the mediator it will be matched with the public key. After it's matched and the connection is created, the status of the mediator connection will become active. via POST /v1/wallets/{walletId}/didcomm/mediators/{didcommMediatorId}/connections
paradym_post_v1_wallets_by_walletid_didcomm_messaging_basic_sendWRITESend a basic message to an existing connection via POST /v1/wallets/{walletId}/didcomm/messaging/basic/send
paradym_post_v1_wallets_by_walletid_didcomm_messaging_custom_sendWRITESend a custom message to an existing connection. The following protocols are not allowed as `@type`, as they are natively supported by Paradym: - `https://didcomm.org/connections` - `https://didcomm.org/didexchange` - `https://didcomm.org/issue-credential` - `https://didcomm.org/present-proof` - `https://didcomm.org/basicmessage` - `https://didcomm.org/out-of-band` In addition the `did:sov:BzCbsNYhMrjHiqZDTUASHg;spec` is not allowed to be used as the message prefix in the `@type` of a custom message. via POST /v1/wallets/{walletId}/didcomm/messaging/custom/send
paradym_post_v1_wallets_by_walletid_didcomm_verification_requestWRITECreate an DIDComm verification request for the selected presentation template. The request and invitation will automatically expire 30 days after it was created. via POST /v1/wallets/{walletId}/didcomm/verification/request
paradym_post_v1_wallets_by_walletid_issuance_sd_jwt_vcWRITEDirectly issue an `sd-jwt-vc` based on a [SD-JWT VC Credential Template](#tags/sd-jwt-vc-credential-templates). Binding a directly issued credential to a holder DID is not supported yet when directly issuing, you can use [OpenID4VC Issuance](#tags/openid4vc-issuance) to bind an issued `sd-jwt-vc` to a holder DID. Note that credential branding you have configured on the template is only sent to the holder when using OpenID4VC for issuance and thus won't be available to the holder of the credential. via POST /v1/wallets/{walletId}/issuance/sd-jwt-vc
paradym_post_v1_wallets_by_walletid_members_addWRITEAdd a member to the provided wallet by email. Beware that the user will not be added until they have accepted the invitation. If an invitation is already active, you cannot add them again until the invitation has expired. An invitation is valid for 7 days, after which the user needs to be invited again to be able to join the wallet. **Note:** Only the owner of the wallet is able to add members to the wallet. via POST /v1/wallets/{walletId}/members/add
paradym_post_v1_wallets_by_walletid_members_removeWRITERemove a member from the provided wallet by email. If the user is not part of the wallet yet, but an invitation has already been sent, the invitation will be revoked, and the user won't be able to accept the invitation anymore. **Note:** Only the owner of the wallet is able to remove members from the wallet. via POST /v1/wallets/{walletId}/members/remove
paradym_post_v1_wallets_by_walletid_openid4vc_issuance_offerWRITECreate a OpenID4VC issuance offer for the selected credentials See the API execution part of the [Issue Credential](https://docs.paradym.id/api-and-dashboard/issue-credentials) guide for more information. The issuance session will automatically expire 7 minutes after it was created. The offer URL will expire 5 minutes after it was created, after which the offer URL cannot be accessed anymore, and an authorization request will not be accepted anymore. The extra 2 minutes are for retrieving the credentials, which can be done after the offer URL has expired. via POST /v1/wallets/{walletId}/openid4vc/issuance/offer
paradym_post_v1_wallets_by_walletid_openid4vc_verification_requestWRITECreate an OpenID4VC verification request for the selected presentation template. See the API execution part of the [Verify Credentials](https://docs.paradym.id/api-and-dashboard/verify-credentials) guide for more information. The verification session will automatically expire 5 minutes after it was created, after which the URL is not accessible anymore and a presentation will not be accepted anymore. via POST /v1/wallets/{walletId}/openid4vc/verification/request
paradym_post_v1_wallets_by_walletid_revocation_batchWRITERevoke a batch of credentials based on the issued credential id. Only credentials issued based on a template where `revocable` is `true` can be revoked. Credentials that have already been revoked cannot be revoked again. The issued credential id is the `id` field in the `IssuedCredential` model, which is returned in the [Issuance](#tag/direct-issuance), [OpenID4VC Issuance](#tag/openid4vc-issuance), and [DIDComm Issuance](#tag/didcomm-issuance) API endpoints. You can revoke credentials from different templates and formats at the same time, with a limit of 100 credentials. For each credential, one transaction is used. When revoking AnonCreds credentials, it will be processed in a background job. This means that it may take up to 2 minutes before the credentials are revoked. via POST /v1/wallets/{walletId}/revocation/batch
paradym_post_v1_wallets_by_walletid_templates_credentials_anoncredsWRITECreate a new `anoncreds` credential template If you provide an existing schema, the API will count a call to this endpoint as a single transaction. But if you don't provide an existing schema, the system will create both a schema and a credential definition, which counts as two transactions. Note: You can only have one `anoncreds` credential template per schema. via POST /v1/wallets/{walletId}/templates/credentials/anoncreds
paradym_post_v1_wallets_by_walletid_templates_credentials_anoncreds_by_credentialtemplateid_unarchiveWRITEUnarchive an `anoncreds` credential template by its id. via POST /v1/wallets/{walletId}/templates/credentials/anoncreds/{credentialTemplateId}/unarchive
paradym_post_v1_wallets_by_walletid_templates_credentials_mdocWRITECreate a new `mdoc` credential template. The `validUntil` field must be set as a duration from the moment the credential is issued, and it must not exceed 365 days. ## Premium features - `localization` (template and attributes): Available on the Builder tier and up. - `trustedWallets`: Available on the Builder tier and up. - `authorization`: Available on the Pro tier and up. - `attributeProviderId`: Available on the Pro tier and up. via POST /v1/wallets/{walletId}/templates/credentials/mdoc
paradym_post_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateid_unarchiveWRITEUnarchive a specific `mdoc` credential template by its id. via POST /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}/unarchive
paradym_post_v1_wallets_by_walletid_templates_credentials_sd_jwt_vcWRITECreate a new `sd-jwt-vc` credential template. When issuing with a certificate, some limitations apply: - The `validFrom` field is not allowed to be set. The credential will always be valid from the moment it is issued. - The `validUntil` field must be set as a duration from the moment the credential is issued, and it must not exceed 365 days. ## Premium features - `localization` (template and attributes): Available on the Builder tier and up. - `trustedWallets`: Available on the Builder tier and up. - `authorization`: Available on the Pro tier and up. - `attributeProviderId`: Available on the Pro tier and up. via POST /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc
paradym_post_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateid_unarchiveWRITEUnarchive a specific `sd-jwt-vc` credential template by its id. via POST /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}/unarchive
paradym_post_v1_wallets_by_walletid_templates_presentationsWRITECreate a new presentation template. A presentation template can either request: - AnonCreds credentials, to be used with [DIDComm Verification](/reference#tag/didcomm-verification). - Mdoc and SD JWT VC credentials, to be used with [OpenID4VC Verification](/reference#tag/openid4vc-verification) via POST /v1/wallets/{walletId}/templates/presentations
paradym_post_v1_wallets_by_walletid_trusted_entitiesWRITECreate a trusted entity. At least one DID or certificate MUST be provided. For both `dids` and `certificates`, at most 20 entries can be provided. via POST /v1/wallets/{walletId}/trusted-entities
paradym_post_v1_wallets_by_walletid_webhooksWRITECreate a new webhook for the given wallet. The webhook will be used to send notifications to the given URL. The URL must be reachable from the internet. We will send a request to the given URL to verify that it's reachable. When it's created you will get a signatureSecret. This secret is used to sign the request body. You can use this secret to verify that the request is coming from us. For more information take a look at the [webhook documentation](https://docs.paradym.id/api-and-dashboard/using-webhooks). via POST /v1/wallets/{walletId}/webhooks
paradym_put_v1_wallets_by_walletidWRITEUpdates a wallet by fully replacing the current settings. via PUT /v1/wallets/{walletId}
paradym_put_v1_wallets_by_walletid_attribute_providers_by_attributeprovideridWRITEUpdates an attribute provider. via PUT /v1/wallets/{walletId}/attribute-providers/{attributeProviderId}
paradym_put_v1_wallets_by_walletid_authorization_servers_by_authorizationserveridWRITEUpdates an authorization server. via PUT /v1/wallets/{walletId}/authorization-servers/{authorizationServerId}
paradym_put_v1_wallets_by_walletid_profiles_defaultWRITEUpdates the default profile of the profile. Upgrading from the OpenID4VC version from 'legacy' to 'v1' is a one-way operation, and cannot be reverted. In order to comply with the standards defined for each version, the metadata of your OpenID4VC issuer, as well as any Token Status Lists associated with active X509 certificates, will be regenerated. Alternatively, you may consider creating a new wallet. In the future, all legacy wallets will be migrated to version 1. ## Premium features - `localization`: Available on the Builder tier and up. - `wallet`: Available on the Builder tier and up. via PUT /v1/wallets/{walletId}/profiles/default
paradym_put_v1_wallets_by_walletid_templates_credentials_mdoc_by_credentialtemplateidWRITEUpdate a specific `mdoc` credential template by its id. This will replace the entire template with the new one, except for the `type` and `issuer` fields (these can't be updated) ## Premium features - `localization` (template and attributes): Available on the Builder tier and up. - `trustedWallets`: Available on the Builder tier and up. - `authorization`: Available on the Pro tier and up. - `attributeProviderId`: Available on the Pro tier and up. via PUT /v1/wallets/{walletId}/templates/credentials/mdoc/{credentialTemplateId}
paradym_put_v1_wallets_by_walletid_templates_credentials_sd_jwt_vc_by_credentialtemplateidWRITEUpdate a specific `sd-jwt-vc` credential template by its id. This will replace the entire template with the new one, except for the `type` and `issuer` fields (these can't be updated) ## Type Metadata Updating a template also updates the [SD-JWT VC Type Metadata](https://docs.paradym.id/api-and-dashboard/credential-metadata#sd-jwt-vc-type-metadata) document that wallets and verifiers may download on demand from the VCT (`type`) URI. For Paradym-hosted VCT URLs this document is automatically re-hosted on every update. For custom VCT URLs the document is **not** automatically updated — retrieve it from the type-metadata endpoint and re-publish it to your VCT URL yourself after updating. If you are making breaking changes such as removing required claims or narrowing selective-disclosure rules, previously issued credentials may no longer pass type-metadata validation. In that case, it is recommended to create a new credential template instead. ## Premium features - `localization` (template and attributes): Available on the Builder tier and up. - `trustedWallets`: Available on the Builder tier and up. - `authorization`: Available on the Pro tier and up. - `attributeProviderId`: Available on the Pro tier and up. via PUT /v1/wallets/{walletId}/templates/credentials/sd-jwt-vc/{credentialTemplateId}
paradym_put_v1_wallets_by_walletid_templates_presentations_by_presentationtemplateidWRITEUpdate a specific presentation template. This will replace the entire template with the new one. via PUT /v1/wallets/{walletId}/templates/presentations/{presentationTemplateId}
paradym_put_v1_wallets_by_walletid_trusted_entities_by_trustedentityidWRITEUpdate a trusted entity. The same rules as creating a trusted entity apply. This will replace the entire trusted entity (including DIDs and certificates) with a new one. via PUT /v1/wallets/{walletId}/trusted-entities/{trustedEntityId}
Put Paradym behind one governed endpoint.
Same permissions, same audit trail, whatever else you connect next.