### Install and Run Application with npm Source: https://context7_llms This snippet demonstrates how to install project dependencies and start the development server using npm. It is a standard Node.js project setup. No specific inputs or outputs are detailed, but it's a prerequisite for running the application. ```bash npm install npm run dev ``` -------------------------------- ### Verifier Application API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing verifier applications. ```APIDOC ## POST /verifier-applications ### Description Create a new verifier application. ### Method POST ### Endpoint /verifier-applications ### Parameters #### Request Body - **name** (string) - Required - The name of the verifier application. - **domain** (string) - Required - The domain associated with the verifier application. ### Request Example ```json { "name": "MyVerifierApp", "domain": "verifier.example.com" } ``` ### Response #### Success Response (201) - **id** (string) - The ID of the created verifier application. - **name** (string) - The name of the verifier application. #### Response Example ```json { "id": "app_verifier_123", "name": "MyVerifierApp" } ``` ``` ```APIDOC ## GET /verifier-applications ### Description Retrieve all verifier applications. ### Method GET ### Endpoint /verifier-applications ### Parameters ### Request Example ### Response #### Success Response (200) - **applications** (array) - A list of verifier applications. #### Response Example ```json { "applications": [ { "id": "app_verifier_123", "name": "MyVerifierApp" }, { "id": "app_verifier_456", "name": "AnotherVerifierApp" } ] } ``` ``` ```APIDOC ## GET /verifier-applications/{applicationId} ### Description Retrieve a specific verifier application by its ID. ### Method GET ### Endpoint /verifier-applications/{applicationId} ### Parameters #### Path Parameters - **applicationId** (string) - Required - The ID of the verifier application to retrieve. ### Request Example ### Response #### Success Response (200) - **id** (string) - The ID of the verifier application. - **name** (string) - The name of the verifier application. - **domain** (string) - The domain of the verifier application. #### Response Example ```json { "id": "app_verifier_123", "name": "MyVerifierApp", "domain": "verifier.example.com" } ``` ``` ```APIDOC ## PUT /verifier-applications/{applicationId} ### Description Update an existing verifier application. ### Method PUT ### Endpoint /verifier-applications/{applicationId} ### Parameters #### Path Parameters - **applicationId** (string) - Required - The ID of the verifier application to update. #### Request Body - **name** (string) - Optional - The updated name of the verifier application. - **domain** (string) - Optional - The updated domain of the verifier application. ### Request Example ```json { "name": "UpdatedVerifierAppName" } ``` ### Response #### Success Response (200) - **id** (string) - The ID of the updated verifier application. - **name** (string) - The updated name of the verifier application. #### Response Example ```json { "id": "app_verifier_123", "name": "UpdatedVerifierAppName" } ``` ``` ```APIDOC ## DELETE /verifier-applications/{applicationId} ### Description Delete a verifier application. ### Method DELETE ### Endpoint /verifier-applications/{applicationId} ### Parameters #### Path Parameters - **applicationId** (string) - Required - The ID of the verifier application to delete. ### Request Example ### Response #### Success Response (204) No content, indicates successful deletion. #### Response Example (No response body) ``` -------------------------------- ### Tenant Management API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing tenants and their members. ```APIDOC ## Create tenant ### Description Creates a new tenant. ### Method POST ### Endpoint /tenants ### Parameters #### Request Body - **name** (string) - Required - The name of the tenant. ### Request Example ```json { "name": "My Company Tenant" } ``` ### Response #### Success Response (200) - **tenant** (object) - The created tenant object. #### Response Example ```json { "tenant": { "id": "ten_abc123", "name": "My Company Tenant", "createdAt": "2023-01-01T10:00:00Z" } } ``` ``` ```APIDOC ## Retrieve tenants ### Description Retrieves a list of tenants. ### Method GET ### Endpoint /tenants ### Response #### Success Response (200) - **tenants** (array of objects) - A list of tenant objects. #### Response Example ```json { "tenants": [ { "id": "ten_abc123", "name": "My Company Tenant" }, { "id": "ten_def456", "name": "Another Tenant" } ] } ``` ``` ```APIDOC ## Retrieve tenant ### Description Retrieves details of a specific tenant. ### Method GET ### Endpoint /tenants/{tenantId} ### Parameters #### Path Parameters - **tenantId** (string) - Required - The ID of the tenant to retrieve. ### Response #### Success Response (200) - **tenant** (object) - The tenant object. #### Response Example ```json { "tenant": { "id": "ten_abc123", "name": "My Company Tenant", "createdAt": "2023-01-01T10:00:00Z" } } ``` ``` ```APIDOC ## Delete tenant ### Description Deletes a tenant. ### Method DELETE ### Endpoint /tenants/{tenantId} ### Parameters #### Path Parameters - **tenantId** (string) - Required - The ID of the tenant to delete. ### Response #### Success Response (200) - **message** (string) - Confirmation message of deletion. #### Response Example ```json { "message": "Tenant ten_abc123 deleted successfully." } ``` ``` ```APIDOC ## Invite a tenant member ### Description Invites a new member to a tenant. ### Method POST ### Endpoint /tenants/{tenantId}/members ### Parameters #### Path Parameters - **tenantId** (string) - Required - The ID of the tenant. #### Request Body - **email** (string) - Required - The email address of the member to invite. - **role** (string) - Required - The role of the member (e.g., "admin", "member"). ### Request Example ```json { "email": "new.member@example.com", "role": "member" } ``` ### Response #### Success Response (200) - **member** (object) - The invited tenant member object. #### Response Example ```json { "member": { "id": "mem_xyz789", "email": "new.member@example.com", "role": "member", "status": "invited" } } ``` ``` ```APIDOC ## Retrieve tenant members ### Description Retrieves a list of members for a specific tenant. ### Method GET ### Endpoint /tenants/{tenantId}/members ### Parameters #### Path Parameters - **tenantId** (string) - Required - The ID of the tenant. ### Response #### Success Response (200) - **members** (array of objects) - A list of tenant member objects. #### Response Example ```json { "members": [ { "id": "mem_abc123", "email": "admin@example.com", "role": "admin", "status": "active" }, { "id": "mem_def456", "email": "member@example.com", "role": "member", "status": "active" } ] } ``` ``` ```APIDOC ## Retrieve a tenant member ### Description Retrieves details of a specific tenant member. ### Method GET ### Endpoint /tenants/{tenantId}/members/{memberId} ### Parameters #### Path Parameters - **tenantId** (string) - Required - The ID of the tenant. - **memberId** (string) - Required - The ID of the member. ### Response #### Success Response (200) - **member** (object) - The tenant member object. #### Response Example ```json { "member": { "id": "mem_abc123", "email": "admin@example.com", "role": "admin", "status": "active" } } ``` ``` ```APIDOC ## Update a tenant membership ### Description Updates the role or status of a tenant member. ### Method PUT ### Endpoint /tenants/{tenantId}/members/{memberId} ### Parameters #### Path Parameters - **tenantId** (string) - Required - The ID of the tenant. - **memberId** (string) - Required - The ID of the member. #### Request Body - **role** (string) - Optional - The new role for the member. - **status** (string) - Optional - The new status for the member (e.g., "active", "inactive"). ### Request Example ```json { "role": "owner" } ``` ### Response #### Success Response (200) - **member** (object) - The updated tenant member object. #### Response Example ```json { "member": { "id": "mem_abc123", "email": "admin@example.com", "role": "owner", "status": "active" } } ``` ``` ```APIDOC ## Delete a tenant membership ### Description Removes a member from a tenant. ### Method DELETE ### Endpoint /tenants/{tenantId}/members/{memberId} ### Parameters #### Path Parameters - **tenantId** (string) - Required - The ID of the tenant. - **memberId** (string) - Required - The ID of the member to remove. ### Response #### Success Response (200) - **message** (string) - Confirmation message of deletion. #### Response Example ```json { "message": "Member mem_abc123 removed from tenant ten_abc123." } ``` ``` -------------------------------- ### mDocs Configuration API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started APIs for managing mDocs configurations. ```APIDOC ## mDocs Configuration API ### Description APIs for creating, retrieving, updating, and deleting mDocs configurations. ### Method POST ### Endpoint /api/mdocs/configurations ### Description Create an mDocs configuration. ### Method GET ### Endpoint /api/mdocs/configurations ### Description Retrieve all mDocs configurations. ### Method GET ### Endpoint /api/mdocs/configurations/{id} ### Description Retrieve an mDocs configuration. ### Method PUT ### Endpoint /api/mdocs/configurations/{id} ### Description Update an mDocs configuration. ### Method DELETE ### Endpoint /api/mdocs/configurations/{id} ### Description Delete an mDocs configuration. ``` -------------------------------- ### Webhook Management API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing webhooks. ```APIDOC ## POST /webhooks ### Description Creates a new webhook subscription. ### Method POST ### Endpoint /webhooks ### Parameters #### Request Body - **url** (string) - Required - The URL to send webhook notifications to. - **event** (string) - Required - The event to subscribe to (e.g., 'message_received', 'inbox_created'). ### Request Example ```json { "url": "https://example.com/webhook-handler", "event": "message_received" } ``` ### Response #### Success Response (200) - **webhookId** (string) - The ID of the newly created webhook. - **url** (string) - The URL of the webhook. - **event** (string) - The event the webhook is subscribed to. #### Response Example ```json { "webhookId": "wh_123abc", "url": "https://example.com/webhook-handler", "event": "message_received" } ``` ## GET /webhooks ### Description Retrieves a list of all configured webhooks. ### Method GET ### Endpoint /webhooks ### Parameters None ### Response #### Success Response (200) - **webhooks** (array) - A list of webhook objects. - **webhookId** (string) - The ID of the webhook. - **url** (string) - The URL of the webhook. - **event** (string) - The event the webhook is subscribed to. #### Response Example ```json { "webhooks": [ { "webhookId": "wh_123abc", "url": "https://example.com/webhook-handler", "event": "message_received" } ] } ``` ``` -------------------------------- ### Environment API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoint for retrieving available environments. ```APIDOC ## Retrieve environments ### Description Retrieves a list of available environments. ### Method GET ### Endpoint /environments ### Response #### Success Response (200) - **environments** (array of objects) - A list of environment objects. #### Response Example ```json { "environments": [ { "id": "env_prod", "name": "Production" }, { "id": "env_staging", "name": "Staging" } ] } ``` ``` -------------------------------- ### Wallet Provider API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing wallet providers. ```APIDOC ## POST /wallet-providers ### Description Create a new wallet provider. ### Method POST ### Endpoint /wallet-providers ### Parameters #### Request Body - **name** (string) - Required - The name of the wallet provider. - **url** (string) - Required - The URL of the wallet provider. ### Request Example ```json { "name": "Example Wallet", "url": "https://wallet.example.com" } ``` ### Response #### Success Response (201) - **id** (string) - The ID of the created wallet provider. - **name** (string) - The name of the wallet provider. #### Response Example ```json { "id": "wallet_provider_abc", "name": "Example Wallet" } ``` ``` ```APIDOC ## GET /wallet-providers ### Description Retrieve all wallet providers. ### Method GET ### Endpoint /wallet-providers ### Parameters ### Request Example ### Response #### Success Response (200) - **providers** (array) - A list of wallet providers. #### Response Example ```json { "providers": [ { "id": "wallet_provider_abc", "name": "Example Wallet" }, { "id": "wallet_provider_def", "name": "Another Wallet" } ] } ``` ``` -------------------------------- ### JSON Credentials API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started APIs for managing JSON credentials configurations. ```APIDOC ## JSON Credentials API ### Description APIs for creating, retrieving, updating, and deleting JSON credentials configurations. ### Method POST ### Endpoint /api/json/credentials ### Description Create a JSON credentials configuration. ### Method GET ### Endpoint /api/json/credentials ### Description Retrieve all JSON credentials configurations. ### Method GET ### Endpoint /api/json/credentials/{id} ### Description Retrieve a JSON credentials configuration. ### Method PUT ### Endpoint /api/json/credentials/{id} ### Description Update a JSON credentials configuration. ### Method DELETE ### Endpoint /api/json/credentials/{id} ### Description Delete a JSON credentials configuration. ``` -------------------------------- ### Policy Management API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for publishing and retrieving policies. ```APIDOC ## POST /api/policies/publish ### Description Publishes a new policy. ### Method POST ### Endpoint /api/policies/publish ### Parameters #### Request Body - **policy** (object) - Required - The policy object to publish. ### Request Example ```json { "policy": { "version": "1.0.0", "name": "Example Policy" } } ``` ### Response #### Success Response (200) - **message** (string) - A success message. #### Response Example ```json { "message": "Policy published successfully" } ``` ``` ```APIDOC ## GET /api/ecosystem/policy/latest ### Description Retrieves the latest ecosystem policy. ### Method GET ### Endpoint /api/ecosystem/policy/latest ### Parameters ### Response #### Success Response (200) - **policy** (object) - The latest ecosystem policy details. #### Response Example ```json { "policy": { "version": "1.1.0", "name": "Latest Ecosystem Policy" } } ``` ``` ```APIDOC ## GET /api/ecosystem/policy/preview ### Description Retrieves a preview of the ecosystem policy. ### Method GET ### Endpoint /api/ecosystem/policy/preview ### Parameters ### Response #### Success Response (200) - **policy** (object) - The ecosystem policy preview details. #### Response Example ```json { "policy": { "version": "1.0.5", "name": "Ecosystem Policy Preview" } } ``` ``` -------------------------------- ### Credential Offer API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started APIs for managing credential offers. ```APIDOC ## Credential Offer API ### Description APIs for creating and deleting credential offers. ### Method POST ### Endpoint /api/credential-offers/authorization-code ### Description Create an Authorization Code credential offer. ### Method POST ### Endpoint /api/credential-offers/pre-authorized-code ### Description Create a Pre-Authorized Code credential offer. ### Method DELETE ### Endpoint /api/credential-offers/pre-authorized-code/{id} ### Description Delete a Pre-authorized Code credential offer. ``` -------------------------------- ### VICAL API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing VICAL entities, configurations, and signers. ```APIDOC ## POST /api/vical ### Description Creates a new VICAL entity. ### Method POST ### Endpoint /api/vical ### Parameters #### Request Body - **name** (string) - Required - The name of the VICAL. - **description** (string) - Optional - A description for the VICAL. ### Request Example ```json { "name": "My VICAL", "description": "This is my first VICAL entity" } ``` ### Response #### Success Response (200) - **message** (string) - A success message. - **vical_id** (string) - The ID of the created VICAL. #### Response Example ```json { "message": "VICAL created successfully", "vical_id": "vical-abcde" } ``` ``` ```APIDOC ## GET /api/vical ### Description Retrieves all VICAL entities. ### Method GET ### Endpoint /api/vical ### Parameters ### Response #### Success Response (200) - **vicals** (array) - A list of VICAL entities. #### Response Example ```json { "vicals": [ { "vical_id": "vical-abcde", "name": "My VICAL" }, { "vical_id": "vical-fghij", "name": "Another VICAL" } ] } ``` ``` ```APIDOC ## GET /api/vical/{vical_id} ### Description Retrieves a specific VICAL entity. ### Method GET ### Endpoint /api/vical/{vical_id} ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL to retrieve. ### Response #### Success Response (200) - **vical** (object) - The VICAL entity details. #### Response Example ```json { "vical": { "vical_id": "vical-abcde", "name": "My VICAL", "description": "This is my first VICAL entity" } } ``` ``` ```APIDOC ## GET /api/vical/latest ### Description Retrieves the latest VICAL entity. ### Method GET ### Endpoint /api/vical/latest ### Parameters ### Response #### Success Response (200) - **vical** (object) - The latest VICAL entity details. #### Response Example ```json { "vical": { "vical_id": "vical-fghij", "name": "Another VICAL" } } ``` ``` ```APIDOC ## PUT /api/vical/{vical_id}/configuration ### Description Updates the configuration for a VICAL entity. ### Method PUT ### Endpoint /api/vical/{vical_id}/configuration ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL to update. #### Request Body - **config_data** (object) - Required - The new configuration data. ### Request Example ```json { "config_data": { "setting1": "value1", "setting2": "value2" } } ``` ### Response #### Success Response (200) - **message** (string) - A success message. #### Response Example ```json { "message": "VICAL configuration updated successfully" } ``` ``` ```APIDOC ## GET /api/vical/{vical_id}/configuration ### Description Retrieves the configuration for a VICAL entity. ### Method GET ### Endpoint /api/vical/{vical_id}/configuration ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL. ### Response #### Success Response (200) - **configuration** (object) - The VICAL configuration details. #### Response Example ```json { "configuration": { "setting1": "value1", "setting2": "value2" } } ``` ``` ```APIDOC ## DELETE /api/vical/{vical_id}/configuration ### Description Deletes the configuration for a VICAL entity. ### Method DELETE ### Endpoint /api/vical/{vical_id}/configuration ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL. ### Response #### Success Response (200) - **message** (string) - A success message. #### Response Example ```json { "message": "VICAL configuration deleted successfully" } ``` ``` ```APIDOC ## POST /api/vical/{vical_id}/signers ### Description Creates a new VICAL signer. ### Method POST ### Endpoint /api/vical/{vical_id}/signers ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL. #### Request Body - **signer_data** (object) - Required - The data for the VICAL signer. ### Request Example ```json { "signer_data": { "name": "Signer One", "certificate": "..." } } ``` ### Response #### Success Response (200) - **message** (string) - A success message. - **signer_id** (string) - The ID of the created signer. #### Response Example ```json { "message": "VICAL signer created successfully", "signer_id": "signer-xyz123" } ``` ``` ```APIDOC ## GET /api/vical/{vical_id}/signers ### Description Retrieves all VICAL signers for a given VICAL. ### Method GET ### Endpoint /api/vical/{vical_id}/signers ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL. ### Response #### Success Response (200) - **signers** (array) - A list of VICAL signers. #### Response Example ```json { "signers": [ { "signer_id": "signer-xyz123", "name": "Signer One" }, { "signer_id": "signer-abc789", "name": "Signer Two" } ] } ``` ``` ```APIDOC ## GET /api/vical/{vical_id}/signers/{signer_id} ### Description Retrieves a specific VICAL signer. ### Method GET ### Endpoint /api/vical/{vical_id}/signers/{signer_id} ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL. - **signer_id** (string) - Required - The ID of the signer. ### Response #### Success Response (200) - **signer** (object) - The VICAL signer details. #### Response Example ```json { "signer": { "signer_id": "signer-xyz123", "name": "Signer One", "certificate": "..." } } ``` ``` ```APIDOC ## PUT /api/vical/{vical_id}/signers/{signer_id} ### Description Updates a VICAL signer. ### Method PUT ### Endpoint /api/vical/{vical_id}/signers/{signer_id} ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL. - **signer_id** (string) - Required - The ID of the signer to update. #### Request Body - **signer_data** (object) - Optional - The updated data for the VICAL signer. ### Request Example ```json { "signer_data": { "certificate": "...updated certificate..." } } ``` ### Response #### Success Response (200) - **message** (string) - A success message. #### Response Example ```json { "message": "VICAL signer updated successfully" } ``` ``` ```APIDOC ## DELETE /api/vical/{vical_id}/signers/{signer_id} ### Description Deletes a VICAL signer. ### Method DELETE ### Endpoint /api/vical/{vical_id}/signers/{signer_id} ### Parameters #### Path Parameters - **vical_id** (string) - Required - The ID of the VICAL. - **signer_id** (string) - Required - The ID of the signer to delete. ### Response #### Success Response (200) - **message** (string) - A success message. #### Response Example ```json { "message": "VICAL signer deleted successfully" } ``` ``` -------------------------------- ### User Management API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for searching and updating user information. ```APIDOC ## GET /api/users/searchUsers ### Description Searches for users based on specified criteria. ### Method GET ### Endpoint /api/users/searchUsers ### Parameters #### Query Parameters - **query** (string) - Required - The search query string. ### Response #### Success Response (200) - **users** (array) - A list of users matching the search criteria. #### Response Example ```json { "users": [ { "id": "user123", "name": "John Doe", "email": "john.doe@example.com" } ] } ``` ``` ```APIDOC ## PUT /api/users/updateUser ### Description Updates an existing user's information. ### Method PUT ### Endpoint /api/users/updateUser ### Parameters #### Request Body - **id** (string) - Required - The ID of the user to update. - **name** (string) - Optional - The new name for the user. - **email** (string) - Optional - The new email for the user. ### Request Example ```json { "id": "user123", "name": "Jane Doe", "email": "jane.doe@example.com" } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message indicating the user was updated. #### Response Example ```json { "message": "User updated successfully." } ``` ``` -------------------------------- ### Authorization API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started APIs for resource authorization and token exchange. ```APIDOC ## Authorization API ### Description APIs for requesting authorization for access to resources and exchanging authorization codes for access tokens. ### Method GET ### Endpoint /oauth2/authorize ### Description Request authorization for access to resources. ### Method POST ### Endpoint /oauth2/token ### Description Exchange authorization code for access token. ``` -------------------------------- ### Trusted Issuer API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing trusted issuers. ```APIDOC ## GET /trusted-issuers ### Description Retrieve a list of trusted issuers. ### Method GET ### Endpoint /trusted-issuers ### Parameters ### Request Example ### Response #### Success Response (200) - **issuers** (array) - A list of trusted issuers. #### Response Example ```json { "issuers": [ { "id": "issuer_id_1", "name": "Example Issuer 1" }, { "id": "issuer_id_2", "name": "Example Issuer 2" } ] } ``` ``` ```APIDOC ## DELETE /trusted-issuers/{issuerId} ### Description Delete a trusted issuer. ### Method DELETE ### Endpoint /trusted-issuers/{issuerId} ### Parameters #### Path Parameters - **issuerId** (string) - Required - The ID of the trusted issuer to delete. ### Request Example ### Response #### Success Response (204) No content, indicates successful deletion. #### Response Example (No response body) ``` -------------------------------- ### Verifier Assignment API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing verifier assignments within an ecosystem. ```APIDOC ## POST /ecosystem/{ecosystemId}/verifier-assignment ### Description Assigns a verifier to an ecosystem. ### Method POST ### Endpoint `/ecosystem/{ecosystemId}/verifier-assignment` ### Parameters #### Path Parameters - **ecosystemId** (string) - Required - The unique identifier of the ecosystem. #### Request Body - **verifierId** (string) - Required - The unique identifier of the verifier to assign. ### Request Example ```json { "verifierId": "verifier-101" } ``` ### Response #### Success Response (200) - **message** (string) - Confirmation message of the assignment. #### Response Example ```json { "message": "Verifier assigned successfully." } ``` ## DELETE /ecosystem/{ecosystemId}/verifier-assignment ### Description Removes a verifier assignment from an ecosystem. ### Method DELETE ### Endpoint `/ecosystem/{ecosystemId}/verifier-assignment` ### Parameters #### Path Parameters - **ecosystemId** (string) - Required - The unique identifier of the ecosystem. #### Query Parameters - **verifierId** (string) - Required - The unique identifier of the verifier to unassign. ### Response #### Success Response (200) - **message** (string) - Confirmation message of the removal. #### Response Example ```json { "message": "Verifier assignment removed successfully." } ``` ``` -------------------------------- ### Verifiable Credential Management Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for issuing and retrieving information about verifiable credentials. ```APIDOC ## POST /issue/credential ### Description Issues a verifiable credential. ### Method POST ### Endpoint /issue/credential ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body * **credential** (object) - Required - The verifiable credential to issue. ### Request Example ```json { "credential": { ... } } ``` ### Response #### Success Response (200) * **status** (string) - Indicates the success of the operation. #### Response Example ```json { "status": "success" } ``` --- ## GET /issuer/metadata ### Description Retrieves OpenID4VCI issuer metadata. ### Method GET ### Endpoint /issuer/metadata ### Parameters #### Path Parameters None #### Query Parameters None #### Request Body None ### Request Example ```json null ``` ### Response #### Success Response (200) * **metadata** (object) - The issuer metadata. #### Response Example ```json { "metadata": { ... } } ``` ``` -------------------------------- ### Webhook Management API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing webhooks, including retrieval, update, and deletion. ```APIDOC ## Retrieve Webhook ### Description Retrieves details of a specific webhook. ### Method GET ### Endpoint /webhooks/{webhookId} ### Parameters #### Path Parameters - **webhookId** (string) - Required - The ID of the webhook to retrieve. ### Response #### Success Response (200) - **webhook** (object) - Details of the webhook. #### Response Example ```json { "webhook": { "id": "wh_abc123", "url": "https://example.com/webhook", "events": ["did_create", "credential_issue"] } } ``` ``` ```APIDOC ## Update Webhook ### Description Updates an existing webhook. ### Method PUT ### Endpoint /webhooks/{webhookId} ### Parameters #### Path Parameters - **webhookId** (string) - Required - The ID of the webhook to update. #### Request Body - **url** (string) - Optional - The new URL for the webhook. - **events** (array of strings) - Optional - The events to trigger the webhook. ### Request Example ```json { "url": "https://new-example.com/webhook" } ``` ### Response #### Success Response (200) - **webhook** (object) - The updated webhook details. #### Response Example ```json { "webhook": { "id": "wh_abc123", "url": "https://new-example.com/webhook", "events": ["did_create"] } } ``` ``` ```APIDOC ## Delete Webhook ### Description Deletes a webhook. ### Method DELETE ### Endpoint /webhooks/{webhookId} ### Parameters #### Path Parameters - **webhookId** (string) - Required - The ID of the webhook to delete. ### Response #### Success Response (200) - **message** (string) - Confirmation message of deletion. #### Response Example ```json { "message": "Webhook wh_abc123 deleted successfully." } ``` ``` ```APIDOC ## Retrieve Webhook JWKs ### Description Retrieves the JSON Web Keys (JWKs) for a webhook, used for signature verification. ### Method GET ### Endpoint /webhooks/{webhookId}/jwks ### Parameters #### Path Parameters - **webhookId** (string) - Required - The ID of the webhook. ### Response #### Success Response (200) - **jwks** (object) - The JWK set for the webhook. #### Response Example ```json { "jwks": { "keys": [ { "kty": "EC", "crv": "P-256", "x": "...", "y": "..." } ] } } ``` ``` -------------------------------- ### CWT PDF Templates API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for managing CWT PDF templates. ```APIDOC ## POST /api/cwt-credentials-pdf-templates/createCompactPdfTemplate ### Description Creates a new compact PDF template for CWT credentials. ### Method POST ### Endpoint /api/cwt-credentials-pdf-templates/createCompactPdfTemplate ### Parameters #### Request Body - **name** (string) - Required - The name of the PDF template. - **templateData** (object) - Required - The data for the PDF template. ### Request Example ```json { "name": "DefaultTemplate", "templateData": { "layout": "Portrait" } } ``` ### Response #### Success Response (200) - **templateId** (string) - The ID of the newly created PDF template. - **message** (string) - A confirmation message. #### Response Example ```json { "templateId": "pdfTpl123", "message": "PDF template created successfully." } ``` ``` ```APIDOC ## GET /api/cwt-credentials-pdf-templates/getCompactPdfTemplates ### Description Retrieves a list of all available compact PDF templates. ### Method GET ### Endpoint /api/cwt-credentials-pdf-templates/getCompactPdfTemplates ### Response #### Success Response (200) - **templates** (array) - A list of PDF templates. - **templateId** (string) - The ID of the template. - **name** (string) - The name of the template. #### Response Example ```json { "templates": [ { "templateId": "pdfTpl123", "name": "DefaultTemplate" }, { "templateId": "pdfTpl456", "name": "AlternativeTemplate" } ] } ``` ``` ```APIDOC ## GET /api/cwt-credentials-pdf-templates/getCompactPdfTemplate ### Description Retrieves a specific compact PDF template by its ID. ### Method GET ### Endpoint /api/cwt-credentials-pdf-templates/getCompactPdfTemplate ### Parameters #### Query Parameters - **templateId** (string) - Required - The ID of the PDF template to retrieve. ### Response #### Success Response (200) - **templateId** (string) - The ID of the template. - **name** (string) - The name of the template. - **templateData** (object) - The data for the PDF template. #### Response Example ```json { "templateId": "pdfTpl123", "name": "DefaultTemplate", "templateData": { "layout": "Portrait" } } ``` ``` ```APIDOC ## PUT /api/cwt-credentials-pdf-templates/updateCompactPdfTemplate ### Description Updates an existing compact PDF template. ### Method PUT ### Endpoint /api/cwt-credentials-pdf-templates/updateCompactPdfTemplate ### Parameters #### Request Body - **templateId** (string) - Required - The ID of the PDF template to update. - **name** (string) - Optional - The new name for the PDF template. - **templateData** (object) - Optional - The updated data for the PDF template. ### Request Example ```json { "templateId": "pdfTpl123", "name": "UpdatedTemplateName", "templateData": { "layout": "Landscape" } } ``` ### Response #### Success Response (200) - **message** (string) - A confirmation message indicating the template was updated. #### Response Example ```json { "message": "PDF template updated successfully." } ``` ``` -------------------------------- ### Credential Verification API Source: https://enterprise.mattrlabs.dev/docs/holding/go-hold/getting-started Endpoints for verifying different types of Verifiable Credentials. ```APIDOC ## POST /credentials/cwt/verify ### Description Verifies a CWT (Credential, Wallet, Token) credential. ### Method POST ### Endpoint /credentials/cwt/verify ### Parameters #### Request Body - **credential** (object) - Required - The CWT credential to verify. ### Request Example ```json { "credential": { "header": { ... }, "claims": { ... }, "signature": "..." } } ``` ### Response #### Success Response (200) - **isValid** (boolean) - Indicates if the credential is valid. - **details** (object) - Additional verification details. #### Response Example ```json { "isValid": true, "details": { ... } } ``` ## POST /credentials/cwt/semantic/verify ### Description Verifies a semantic CWT credential. ### Method POST ### Endpoint /credentials/cwt/semantic/verify ### Parameters #### Request Body - **credential** (object) - Required - The semantic CWT credential to verify. ### Request Example ```json { "credential": { ... } } ``` ### Response #### Success Response (200) - **isValid** (boolean) - Indicates if the credential is valid. - **details** (object) - Additional verification details. #### Response Example ```json { "isValid": true, "details": { ... } } ``` ## POST /credentials/json/verify ### Description Verifies a JSON credential. ### Method POST ### Endpoint /credentials/json/verify ### Parameters #### Request Body - **credential** (object) - Required - The JSON credential to verify. ### Request Example ```json { "credential": { ... } } ``` ### Response #### Success Response (200) - **isValid** (boolean) - Indicates if the credential is valid. - **details** (object) - Additional verification details. #### Response Example ```json { "isValid": true, "details": { ... } } ``` ```