{
"openapi": "3.1.0",
"info": {
"title": "Namirial Wallet Platform",
"summary": "\n",
"description": "\n",
"contact": {
"email": "l.castaldo@namirial.com"
},
"version": "0.0.1"
},
"servers": [
{
"url": "https://wallet-studio.test.namirial.com"
}
],
"paths": {
"/api/v1/user/": {
"get": {
"tags": [
"User API"
],
"summary": "get user list",
"operationId": "user_list_api_v1_user__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "username",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional filter for username. Performs a partial match (contains) on the username field.",
"title": "Username"
},
"description": "Optional filter for username. Performs a partial match (contains) on the username field."
},
{
"name": "tax_code",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional filter for tax code. Performs a partial match (contains) on the tax code field.",
"title": "Tax Code"
},
"description": "Optional filter for tax code. Performs a partial match (contains) on the tax code field."
},
{
"name": "first_name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional filter for first name. Performs a partial match (contains) on the first name field.",
"title": "First Name"
},
"description": "Optional filter for first name. Performs a partial match (contains) on the first name field."
},
{
"name": "last_name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional filter for last name. Performs a partial match (contains) on the last name field.",
"title": "Last Name"
},
"description": "Optional filter for last name. Performs a partial match (contains) on the last name field."
},
{
"name": "email",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional filter for email. Performs a partial match (contains) on the email field.",
"format": "email",
"title": "Email"
},
"description": "Optional filter for email. Performs a partial match (contains) on the email field."
},
{
"name": "phone_number",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional filter for phone number. Performs a partial match (contains) on the phone number field.",
"title": "Phone Number"
},
"description": "Optional filter for phone number. Performs a partial match (contains) on the phone number field."
},
{
"name": "api_token",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional filter for API token used for authenticating requests.",
"title": "Api Token"
},
"description": "Optional filter for API token used for authenticating requests."
},
{
"name": "is_active",
"in": "query",
"required": false,
"schema": {
"type": "boolean",
"description": "Indicates whether the account is active. This field uses an exact match (true/false).",
"title": "Is Active"
},
"description": "Indicates whether the account is active. This field uses an exact match (true/false)."
},
{
"name": "customers",
"in": "query",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "integer"
},
"description": "List of customer IDs. Performs an exact match on the customer ID list.",
"title": "Customers"
},
"description": "List of customer IDs. Performs an exact match on the customer ID list."
},
{
"name": "role",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Role ID representing the user's role. This field uses an exact match for the role.",
"title": "Role"
},
"description": "Role ID representing the user's role. This field uses an exact match for the role."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/User"
},
"title": "Response User List Api V1 User Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/user/create/": {
"post": {
"tags": [
"User API"
],
"summary": "create a user",
"operationId": "user_create_api_v1_user_create__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserForm"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"HTTPBearer": []
}
]
}
},
"/api/v1/user/{user_id}/update/": {
"put": {
"tags": [
"User API"
],
"summary": "update user",
"operationId": "user_update_api_v1_user__user_id__update__put",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the user",
"title": "User Id"
},
"description": "The ID of the user"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"patch": {
"tags": [
"User API"
],
"summary": "update user",
"operationId": "user_patch_api_v1_user__user_id__update__patch",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the user",
"title": "User Id"
},
"description": "The ID of the user"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserPartialForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/user/{user_id}/": {
"get": {
"tags": [
"User API"
],
"summary": "get user detail by id",
"operationId": "user_detail_api_v1_user__user_id___get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the user",
"title": "User Id"
},
"description": "The ID of the user"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/User"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/user/{user_id}/token/": {
"get": {
"tags": [
"User API"
],
"summary": "get user detail token by id",
"operationId": "user_detail_token_api_v1_user__user_id__token__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "user_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the user",
"title": "User Id"
},
"description": "The ID of the user"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UserDetailToken"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/customer/": {
"get": {
"tags": [
"Customer API"
],
"summary": "Get all customers available",
"operationId": "customer_list_api_v1_customer__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Part of the name of a customer",
"title": "Name"
},
"description": "Part of the name of a customer"
},
{
"name": "parent",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "The ID of the parent of a customer",
"title": "Parent"
},
"description": "The ID of the parent of a customer"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Customer"
},
"title": "Response Customer List Api V1 Customer Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/customer/create/": {
"post": {
"tags": [
"Customer API"
],
"summary": "Create a customer",
"operationId": "customer_create_api_v1_customer_create__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomerForm"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Customer"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"HTTPBearer": []
}
]
}
},
"/api/v1/customer/{customer_id}/update/": {
"put": {
"tags": [
"Customer API"
],
"summary": "Update a customer using its ID",
"operationId": "customer_update_api_v1_customer__customer_id__update__put",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "customer_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the customer to update",
"title": "Customer Id"
},
"description": "The ID of the customer to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomerForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Customer"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"patch": {
"tags": [
"Customer API"
],
"summary": "Partially update a customer using its ID",
"operationId": "customer_partial_update_api_v1_customer__customer_id__update__patch",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "customer_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the customer to update",
"title": "Customer Id"
},
"description": "The ID of the customer to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CustomerPartialForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Customer"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/api/v1/customer/{customer_id}/": {
"get": {
"tags": [
"Customer API"
],
"summary": "Get a specific customer using its ID",
"operationId": "customer_api_v1_customer__customer_id___get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "customer_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the customer to get",
"title": "Customer Id"
},
"description": "The ID of the customer to get"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Customer"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/credential/api/v1/template/": {
"get": {
"tags": [
"Credential template API"
],
"summary": "Get the list of templates",
"operationId": "credential_template_list_credential_api_v1_template__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "The name of a credential template",
"title": "Name"
},
"description": "The name of a credential template"
},
{
"name": "description",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "The description of a credential template",
"title": "Description"
},
"description": "The description of a credential template"
},
{
"name": "credential_format",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/CredentialFormatChoices",
"description": "The format of credential used by a credential template"
},
"description": "The format of credential used by a credential template"
},
{
"name": "credential_type",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "The credential type. It represents the 'vct' field of an SD+JWT credential. Instead, It represents the 'doctype' field of an MDOC credential.",
"title": "Credential Type"
},
"description": "The credential type. It represents the 'vct' field of an SD+JWT credential. Instead, It represents the 'doctype' field of an MDOC credential."
},
{
"name": "customer",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "The ID of the customer associated with a credential template",
"title": "Customer"
},
"description": "The ID of the customer associated with a credential template"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/CredentialTemplate"
},
"title": "Response Credential Template List Credential Api V1 Template Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/credential/api/v1/template/create/": {
"post": {
"tags": [
"Credential template API"
],
"summary": "Create a template",
"operationId": "credential_template_create_credential_api_v1_template_create__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CredentialTemplateForm"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CredentialTemplate"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"HTTPBearer": []
}
]
}
},
"/credential/api/v1/template/{credential_template_id}/": {
"get": {
"tags": [
"Credential template API"
],
"summary": "Get a template using its ID",
"operationId": "credential_template_credential_api_v1_template__credential_template_id___get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "credential_template_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Credential Template Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CredentialTemplate"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/credential/api/v1/verification/template/": {
"get": {
"tags": [
"Verification template API"
],
"summary": "Get the list of verification templates",
"operationId": "verification_template_list_credential_api_v1_verification_template__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "The name of a verification template",
"title": "Name"
},
"description": "The name of a verification template"
},
{
"name": "description",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "The description of a verification template",
"title": "Description"
},
"description": "The description of a verification template"
},
{
"name": "credential_format",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/CredentialFormatChoices",
"description": "The format of credential used by a verification template"
},
"description": "The format of credential used by a verification template"
},
{
"name": "customer",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "The ID of the customer associated with a verification template",
"title": "Customer"
},
"description": "The ID of the customer associated with a verification template"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VerificationTemplate"
},
"title": "Response Verification Template List Credential Api V1 Verification Template Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/credential/api/v1/verification/template/create/": {
"post": {
"tags": [
"Verification template API"
],
"summary": "Create a verification template",
"operationId": "verification_template_create_credential_api_v1_verification_template_create__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationTemplateForm"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationTemplate"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"HTTPBearer": []
}
]
}
},
"/credential/api/v1/verification/template/{verification_template_id}/": {
"get": {
"tags": [
"Verification template API"
],
"summary": "Get a specific verification template using its ID",
"operationId": "verification_template_credential_api_v1_verification_template__verification_template_id___get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "verification_template_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"title": "Verification Template Id"
}
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationTemplate"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/issuance/api/v1/service/": {
"get": {
"tags": [
"Issuance API"
],
"summary": "Get the list of issuance services",
"operationId": "service_list_issuance_api_v1_service__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Part of the name of an issuance service",
"title": "Name"
},
"description": "Part of the name of an issuance service"
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/ServiceStatusChoices",
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
{
"name": "customer",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "The ID of a customer",
"title": "Customer"
},
"description": "The ID of a customer"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/IssuanceService"
},
"title": "Response Service List Issuance Api V1 Service Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/issuance/api/v1/service/{issuance_service_id}": {
"get": {
"tags": [
"Issuance API"
],
"summary": "Get a specific issuance service using its ID",
"operationId": "issuance_service_issuance_api_v1_service__issuance_service_id__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "service_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the service to get",
"title": "Service Id"
},
"description": "The ID of the service to get"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuanceService"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/issuance/api/v1/service/create/": {
"post": {
"tags": [
"Issuance API"
],
"summary": "Create an issuance service",
"operationId": "issuance_service_create_issuance_api_v1_service_create__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuanceServiceForm"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuanceService"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"HTTPBearer": []
}
]
}
},
"/issuance/api/v1/service/{issuance_service_id}/update/": {
"put": {
"tags": [
"Issuance API"
],
"summary": "Update an issuance service using its ID",
"operationId": "issuance_service_update_issuance_api_v1_service__issuance_service_id__update__put",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "issuance_service_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the issuance service to update",
"title": "Issuance Service Id"
},
"description": "The ID of the issuance service to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuanceServiceForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuanceService"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"patch": {
"tags": [
"Issuance API"
],
"summary": "Partially update an issuance service using its ID",
"operationId": "issuance_service_partial_update_issuance_api_v1_service__issuance_service_id__update__patch",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "issuance_service_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the issuance service to update",
"title": "Issuance Service Id"
},
"description": "The ID of the issuance service to update"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuanceServicePartialForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/IssuanceService"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/issuance/api/v1/credential/": {
"get": {
"tags": [
"Issuance API"
],
"summary": "Get the list of credentials",
"operationId": "credential_list_issuance_api_v1_credential__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/CredentialStatusChoices",
"description": "\nThe status of the credential\n- REQUESTED =\u003E 1\n- FAILED =\u003E 2\n- ISSUED =\u003E 3\n- REVOKED =\u003E 4\n"
},
"description": "\nThe status of the credential\n- REQUESTED =\u003E 1\n- FAILED =\u003E 2\n- ISSUED =\u003E 3\n- REVOKED =\u003E 4\n"
},
{
"name": "format",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/CredentialFormatChoices",
"description": "\nThe format of credential used by this credential template\n- 1 =\u003E SD+JWT\n- 2 =\u003E MDOC\n"
},
"description": "\nThe format of credential used by this credential template\n- 1 =\u003E SD+JWT\n- 2 =\u003E MDOC\n"
},
{
"name": "credential_template",
"in": "query",
"required": false,
"schema": {
"type": "array",
"items": {
"type": "integer"
},
"description": "The list of IDs of the related credential templates",
"title": "Credential Template"
},
"description": "The list of IDs of the related credential templates"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Credential"
},
"title": "Response Credential List Issuance Api V1 Credential Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/issuance/api/v1/credential/{credential_id}": {
"get": {
"tags": [
"Issuance API"
],
"summary": "Get a specific credential using its ID",
"operationId": "credential_issuance_api_v1_credential__credential_id__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "credential_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the credential to get",
"title": "Credential Id"
},
"description": "The ID of the credential to get"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Credential"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/issuance/api/v1/{issuance_service_id}/init": {
"post": {
"tags": [
"Issuance API"
],
"summary": "Start the issuance process for an issuance service using its ID",
"operationId": "issuance_init_issuance_api_v1__issuance_service_id__init_post",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "issuance_service_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the issuance service to use",
"title": "Issuance Service Id"
},
"description": "The ID of the issuance service to use"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InitIssuanceForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InitIssuanceResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/verification/api/v1/service/": {
"get": {
"tags": [
"Verification API"
],
"summary": "get all verification service with optional filters",
"operationId": "get_verification_service_verification_api_v1_service__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "name",
"in": "query",
"required": false,
"schema": {
"type": "string",
"description": "Optional filter for the service name. Performs a partial match (contains) on the name field.",
"title": "Name"
},
"description": "Optional filter for the service name. Performs a partial match (contains) on the name field."
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/ServiceStatusChoices",
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
{
"name": "customer",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "Customer ID. This field uses an exact match for the customer ID.",
"title": "Customer"
},
"description": "Customer ID. This field uses an exact match for the customer ID."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/VerificationService"
},
"title": "Response Get Verification Service Verification Api V1 Service Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/verification/api/v1/service/{verification_service_id}/": {
"get": {
"tags": [
"Verification API"
],
"summary": "get verification service detail",
"operationId": "get_verification_service_detail_verification_api_v1_service__verification_service_id___get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "verification_service_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the verification service",
"title": "Verification Service Id"
},
"description": "The ID of the verification service"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationService"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/verification/api/v1/service/create/": {
"post": {
"tags": [
"Verification API"
],
"summary": "create a verification service",
"operationId": "verification_service_create_verification_api_v1_service_create__post",
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationServiceForm"
}
}
},
"required": true
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationService"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
},
"security": [
{
"HTTPBearer": []
}
]
}
},
"/verification/api/v1/service/{verification_service_id}/update/": {
"put": {
"tags": [
"Verification API"
],
"summary": "update a verification service",
"operationId": "verification_service_update_verification_api_v1_service__verification_service_id__update__put",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "verification_service_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the verification service",
"title": "Verification Service Id"
},
"description": "The ID of the verification service"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationServiceForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationService"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
},
"patch": {
"tags": [
"Verification API"
],
"summary": "partial update of a verification service",
"operationId": "verification_service_partial_update_verification_api_v1_service__verification_service_id__update__patch",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "verification_service_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the verification service",
"title": "Verification Service Id"
},
"description": "The ID of the verification service"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationServicePartialUpdate"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/VerificationService"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/verification/api/v1/verification/": {
"get": {
"tags": [
"Verification API"
],
"summary": "get verification list with optional filters",
"operationId": "get_verification_service_list_verification_api_v1_verification__get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/VerificationsStatusChoices",
"description": "\nThe status of the verification\n- 1 =\u003E REQUESTED\n- 2 =\u003E FAILED\n- 3 -\u003E COMPLETED\n"
},
"description": "\nThe status of the verification\n- 1 =\u003E REQUESTED\n- 2 =\u003E FAILED\n- 3 -\u003E COMPLETED\n"
},
{
"name": "format",
"in": "query",
"required": false,
"schema": {
"$ref": "#/components/schemas/CredentialFormatChoices",
"description": "\nThe format of credential used by this credential template\n- 1 =\u003E SD+JWT\n- 2 =\u003E MDOC\n"
},
"description": "\nThe format of credential used by this credential template\n- 1 =\u003E SD+JWT\n- 2 =\u003E MDOC\n"
},
{
"name": "verification_template",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "The ID of the verification template associated with this filter. This field is optional and can be used to filter by a specific template.",
"title": "Verification Template"
},
"description": "The ID of the verification template associated with this filter. This field is optional and can be used to filter by a specific template."
},
{
"name": "verification_service",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "The ID of the verification service associated with this filter. This field is optional and can be used to filter by a specific service.",
"title": "Verification Service"
},
"description": "The ID of the verification service associated with this filter. This field is optional and can be used to filter by a specific service."
},
{
"name": "customer",
"in": "query",
"required": false,
"schema": {
"type": "integer",
"description": "The ID of the customer associated with this filter. This field is optional and can be used to filter by a specific customer.",
"title": "Customer"
},
"description": "The ID of the customer associated with this filter. This field is optional and can be used to filter by a specific customer."
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Verification"
},
"title": "Response Get Verification Service List Verification Api V1 Verification Get"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/verification/api/v1/verification/{verification_id}/": {
"get": {
"tags": [
"Verification API"
],
"summary": "get verification detail",
"operationId": "get_verification_detail_verification_api_v1_verification__verification_id___get",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "verification_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the verification",
"title": "Verification Id"
},
"description": "The ID of the verification"
}
],
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Verification"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
},
"/verification/api/v1/{verification_service_id}/init": {
"post": {
"tags": [
"Verification API"
],
"summary": "verification init",
"operationId": "init_verification_verification_api_v1__verification_service_id__init_post",
"security": [
{
"HTTPBearer": []
}
],
"parameters": [
{
"name": "verification_service_id",
"in": "path",
"required": true,
"schema": {
"type": "integer",
"minimum": 1,
"description": "The ID of the verification service",
"title": "Verification Service Id"
},
"description": "The ID of the verification service"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InitVerificationForm"
}
}
}
},
"responses": {
"200": {
"description": "Successful Response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InitVerificationResponse"
}
}
}
},
"422": {
"description": "Validation Error",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/HTTPValidationError"
}
}
}
}
}
}
}
},
"components": {
"schemas": {
"Credential": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "The ID of the credential"
},
"status": {
"$ref": "#/components/schemas/CredentialStatusChoices",
"description": "\nThe status of the credential\n- REQUESTED =\u003E 1\n- FAILED =\u003E 2\n- ISSUED =\u003E 3\n- REVOKED =\u003E 4\n"
},
"status_display": {
"$ref": "#/components/schemas/CredentialStatusDisplayChoices",
"description": "The human readable version of the credential status"
},
"format": {
"$ref": "#/components/schemas/CredentialFormatChoices",
"description": "\nThe format of credential used by this credential template\n- 1 =\u003E SD+JWT\n- 2 =\u003E MDOC\n"
},
"format_display": {
"$ref": "#/components/schemas/CredentialFormatChoicesDisplay",
"description": "The human readable version of the credential format"
},
"customer": {
"type": "integer",
"title": "Customer",
"description": "The ID of the customer linked to this issuance service",
"example": 3
},
"issuance_service": {
"type": "integer",
"title": "Issuance Service",
"description": "The ID of the issuance service",
"example": 3
},
"credential_template": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Credential Template",
"description": "The list of IDs of the related credential templates",
"example": [1, 2]
}
},
"type": "object",
"required": [
"id",
"status",
"status_display",
"format",
"format_display",
"customer",
"issuance_service",
"credential_template"
],
"title": "Credential"
},
"CredentialFormatApiChoices": {
"type": "string",
"enum": [
"sd_jwt",
"mso_mdoc"
],
"title": "CredentialFormatApiChoices"
},
"CredentialFormatChoices": {
"type": "integer",
"enum": [1, 2],
"title": "CredentialFormatChoices"
},
"CredentialFormatChoicesDisplay": {
"type": "string",
"enum": [
"SD+JWT",
"MDOC"
],
"title": "CredentialFormatChoicesDisplay"
},
"CredentialRequestInit": {
"properties": {
"template_id": {
"type": "integer",
"title": "Template Id",
"description": "Indicates the template ID",
"example": 16
},
"claims": {
"additionalProperties": true,
"type": "object",
"title": "Claims",
"description": "Claims to be included in the credential",
"example": {
"family_name": "Iovine",
"given_name": "Nicola"
}
}
},
"type": "object",
"required": [
"template_id",
"claims"
],
"title": "CredentialRequestInit"
},
"CredentialStatusChoices": {
"type": "integer",
"enum": [1, 2, 3, 4],
"title": "CredentialStatusChoices"
},
"CredentialStatusDisplayChoices": {
"type": "string",
"enum": [
"Requested",
"Failed",
"Issued",
"Revoked"
],
"title": "CredentialStatusDisplayChoices"
},
"CredentialTemplate": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "The ID of the credential template",
"example": 123
},
"name": {
"type": "string",
"title": "Name",
"description": "The name of the credential template",
"example": "Personal Identifier Data"
},
"credential_format": {
"$ref": "#/components/schemas/CredentialFormatChoices",
"description": "\nThe format of credential used by this credential template\n- 1 =\u003E SD+JWT\n- 2 =\u003E MDOC\n"
},
"credential_format_display": {
"$ref": "#/components/schemas/CredentialFormatChoicesDisplay",
"description": "The human readable version of the credential format used by this credential template"
},
"credential_type": {
"type": "string",
"title": "Credential Type",
"description": "The credential type. It represents the 'vct' field of an SD+JWT credential. Instead, It represents the 'doctype' field of an MDOC credential.",
"example": "eu.europa.ec.eudi.pid.1"
},
"schema": {
"additionalProperties": {
"$ref": "#/components/schemas/IssuanceProperty-Output"
},
"type": "object",
"title": "Schema",
"description": "The schema of the credential template",
"example": {
"anagraphical_data": {
"display": "Anagraphical data",
"format": "dict",
"properties": {
"given_name": {
"display": "Given name",
"format": "str",
"required": true
},
"family_name": {
"display": "Family name",
"format": "str",
"required": true
}
},
"required": true
}
}
}
},
"type": "object",
"required": [
"id",
"name",
"credential_format",
"credential_format_display",
"credential_type"
],
"title": "CredentialTemplate"
},
"CredentialTemplateForm": {
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"title": "Name",
"description": "The name of the credential template",
"example": "Personal Identifier Data"
},
"credential_format": {
"$ref": "#/components/schemas/CredentialFormatApiChoices",
"description": "\nThe format of credential used by this credential template\n- sd_jwt =\u003E SD+JWT\n- mso_mdoc =\u003E MDOC\n"
},
"credential_type": {
"type": "string",
"maxLength": 256,
"title": "Credential Type",
"description": "The credential type. It represents the 'vct' field of an SD+JWT credential. Instead, It represents the 'doctype' field of an MDOC credential.",
"example": "eu.europa.ec.eudi.pid.1"
},
"schema": {
"additionalProperties": {
"$ref": "#/components/schemas/IssuanceProperty-Input"
},
"type": "object",
"title": "Schema",
"description": "The schema of the credential template",
"example": {
"anagraphical_data": {
"display": "Anagraphical data",
"format": "dict",
"properties": {
"given_name": {
"display": "Given name",
"format": "str",
"required": true
},
"family_name": {
"display": "Family name",
"format": "str",
"required": true
}
},
"required": true
}
}
}
},
"type": "object",
"required": [
"name",
"credential_format",
"credential_type",
"schema"
],
"title": "CredentialTemplateForm"
},
"Customer": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "The ID of the customer"
},
"name": {
"type": "string",
"title": "Name",
"description": "The name of the customer",
"example": "example_customer"
},
"status": {
"$ref": "#/components/schemas/CustomerStatusChoices",
"description": "\nThe status of the customer\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
"status_display": {
"$ref": "#/components/schemas/CustomerStatusDisplayChoices",
"description": "The human readable version of the customer status"
},
"parent": {
"$ref": "#/components/schemas/Customer",
"description": "The parent of the customer",
"example": {
"id": 1,
"name": "root_customer",
"status": 1,
"status_display": "Enabled"
}
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"status_display"
],
"title": "Customer"
},
"CustomerForm": {
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"title": "Name",
"description": "The name of the customer",
"example": "example_customer"
},
"status": {
"$ref": "#/components/schemas/CustomerStatusChoices",
"description": "\nThe status of the customer\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
"parent": {
"type": "integer",
"title": "Parent",
"description": "The ID of the parent of the customer",
"example": 3
}
},
"type": "object",
"required": [
"name",
"status",
"parent"
],
"title": "CustomerForm"
},
"CustomerPartialForm": {
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"title": "Name",
"description": "The name of the customer",
"example": "example_customer"
},
"status": {
"$ref": "#/components/schemas/CustomerStatusChoices",
"description": "\nThe status of the customer\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
"parent": {
"type": "integer",
"title": "Parent",
"description": "The ID of the parent of the customer",
"example": 3
}
},
"type": "object",
"title": "CustomerPartialForm"
},
"CustomerStatusChoices": {
"type": "integer",
"enum": [1, 2],
"title": "CustomerStatusChoices"
},
"CustomerStatusDisplayChoices": {
"type": "string",
"enum": [
"Enabled",
"Disabled"
],
"title": "CustomerStatusDisplayChoices"
},
"HTTPValidationError": {
"properties": {
"detail": {
"items": {
"$ref": "#/components/schemas/ValidationError"
},
"type": "array",
"title": "Detail"
}
},
"type": "object",
"title": "HTTPValidationError"
},
"InitIssuanceForm": {
"properties": {
"tx_code": {
"type": "boolean",
"title": "Tx Code",
"description": "Indicates if the issuance process has the txcode",
"example": true
},
"callback_url": {
"type": "string",
"maxLength": 2083,
"minLength": 1,
"format": "uri",
"title": "Callback Url",
"description": "The callback URL to notify when the process is complete"
},
"state": {
"type": "string",
"maxLength": 12,
"title": "State",
"description": "The state of the process",
"example": "1234567890"
},
"credentials": {
"items": {
"$ref": "#/components/schemas/CredentialRequestInit"
},
"type": "array",
"title": "Credentials",
"description": "The credentials of the request",
"example": [
{
"claims": {
"anagraphical_data": {
"family_name": "Iovine",
"given_name": "Nicola"
}
},
"template_id": 16
}
]
}
},
"type": "object",
"required": [
"credentials"
],
"title": "InitIssuanceForm"
},
"InitIssuanceResponse": {
"properties": {
"requested_credentials": {
"items": {
"$ref": "#/components/schemas/Credential"
},
"type": "array",
"title": "Requested Credentials",
"description": "The list of the credential requested"
},
"code": {
"type": "string",
"title": "Code",
"description": "The pre-auth-code",
"example": "66aaa36f-51a1-4a2a-ba30-a0aaa9a7aa9a"
},
"uri": {
"type": "string",
"maxLength": 2083,
"minLength": 1,
"format": "uri",
"title": "Uri",
"description": "The issuance uri"
}
},
"type": "object",
"required": [
"requested_credentials",
"code",
"uri"
],
"title": "InitIssuanceResponse"
},
"InitVerificationForm": {
"properties": {
"callback_url": {
"type": "string",
"maxLength": 2083,
"minLength": 1,
"format": "uri",
"title": "Callback Url",
"description": "The URL where the verification result will be sent. This is typically used to notify the requester once the verification process is completed.",
"example": "https://example.com/callback"
},
"state": {
"type": "string",
"maxLength": 12,
"title": "State",
"description": "A state identifier that can be used to track the progress or status of the verification request. This value is optional.",
"example": "state123"
},
"verifications": {
"items": {
"$ref": "#/components/schemas/VerificationRequestInit"
},
"type": "array",
"title": "Verifications",
"description": "A list of verification requests. Each request defines a template and associated transaction data for the verification process.",
"example": [
{
"template_id": 101,
"transaction_data": [
{
"credential_ids": [
"cred_123",
"cred_456"
],
"data": {
"amount": 100,
"currency": "USD"
},
"transaction_data_hashes_alg": [
"SHA256"
],
"type": "Payment"
}
]
}
]
}
},
"type": "object",
"required": [
"verifications"
],
"title": "InitVerificationForm"
},
"InitVerificationResponse": {
"properties": {
"request_verification": {
"$ref": "#/components/schemas/Verification",
"description": "The verification object containing the details of the verification request, including its status, type, and associated customer."
},
"uri": {
"type": "string",
"maxLength": 2083,
"minLength": 1,
"format": "uri",
"title": "Uri",
"description": "The URI that points to the verification process or its status. This is used to redirect the user or system to the appropriate verification page.",
"example": "https://example.com/verification/12345"
},
"code": {
"type": "string",
"title": "Code",
"description": "A unique verification code associated with the verification process.",
"example": "ABCD1234"
}
},
"type": "object",
"required": [
"request_verification",
"uri",
"code"
],
"title": "InitVerificationResponse"
},
"IssuanceProperty-Input": {
"properties": {
"display": {
"type": "string",
"title": "Display",
"description": "The display name of the property",
"example": "A simple description"
},
"description": {
"type": "string",
"title": "Description",
"description": "The description of the property",
"example": "A simple description"
},
"format": {
"$ref": "#/components/schemas/PropertyFormat",
"description": "\nThe format of the property\n- int =\u003E int type\n- float =\u003E float type\n- str =\u003E str type\n- bool =\u003E bool type\n- date =\u003E date type\n- datetime =\u003E datetime type\n- list =\u003E list type\n- dict =\u003E dict type\n- namespace =\u003E namespace type\n",
"example": "A simple description"
},
"required": {
"type": "boolean",
"title": "Required",
"description": "This attribute indicates if this property is required",
"default": false,
"example": "A simple description"
},
"properties": {
"additionalProperties": {
"$ref": "#/components/schemas/IssuanceProperty-Input"
},
"type": "object",
"title": "Properties",
"description": "Sub-properties of the property",
"example": {
"family_name": {
"display": "Family name",
"format": "str",
"required": true
},
"given_name": {
"display": "Given name",
"format": "str",
"required": true
}
}
}
},
"type": "object",
"required": [
"format"
],
"title": "IssuanceProperty"
},
"IssuanceProperty-Output": {
"properties": {
"display": {
"type": "string",
"title": "Display",
"description": "The display name of the property",
"example": "A simple description"
},
"description": {
"type": "string",
"title": "Description",
"description": "The description of the property",
"example": "A simple description"
},
"format": {
"$ref": "#/components/schemas/PropertyFormat",
"description": "\nThe format of the property\n- int =\u003E int type\n- float =\u003E float type\n- str =\u003E str type\n- bool =\u003E bool type\n- date =\u003E date type\n- datetime =\u003E datetime type\n- list =\u003E list type\n- dict =\u003E dict type\n- namespace =\u003E namespace type\n",
"example": "A simple description"
},
"required": {
"type": "boolean",
"title": "Required",
"description": "This attribute indicates if this property is required",
"default": false,
"example": "A simple description"
},
"properties": {
"additionalProperties": {
"$ref": "#/components/schemas/IssuanceProperty-Output"
},
"type": "object",
"title": "Properties",
"description": "Sub-properties of the property",
"example": {
"family_name": {
"display": "Family name",
"format": "str",
"required": true
},
"given_name": {
"display": "Given name",
"format": "str",
"required": true
}
}
}
},
"type": "object",
"required": [
"format"
],
"title": "IssuanceProperty"
},
"IssuanceService": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "The ID of the issuance service"
},
"name": {
"type": "string",
"title": "Name",
"description": "The name of the issuance service",
"example": "example_issuance_service"
},
"status": {
"$ref": "#/components/schemas/ServiceStatusChoices",
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
"status_display": {
"$ref": "#/components/schemas/ServiceStatusDisplayChoices",
"description": "The human readable version of the issuance service status"
},
"use_x5c": {
"type": "boolean",
"title": "Use X5C",
"description": "The value of use x5c attribute"
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"status_display",
"use_x5c"
],
"title": "IssuanceService"
},
"IssuanceServiceForm": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "The name of the issuance service",
"example": "example_issuance_service"
},
"status": {
"$ref": "#/components/schemas/ServiceStatusChoices",
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n",
"default": 2
},
"customer": {
"type": "integer",
"title": "Customer",
"description": "The ID of the customer linked to this issuance service",
"example": 3
},
"credential_templates": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Credential Templates",
"description": "IDs of the credential templates linked to this issuance service",
"example": [1, 2]
},
"users": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Users",
"description": "The IDs of users linked to this issuance service",
"example": [1, 2]
},
"use_x5c": {
"type": "boolean",
"title": "Use X5C",
"description": "The value of use x5c attribute",
"default": true
}
},
"type": "object",
"required": [
"name",
"customer",
"credential_templates",
"users"
],
"title": "IssuanceServiceForm"
},
"IssuanceServicePartialForm": {
"properties": {
"name": {
"type": "string",
"title": "Name",
"description": "The name of the issuance service",
"example": "example_issuance_service"
},
"status": {
"$ref": "#/components/schemas/ServiceStatusChoices",
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
"customer": {
"type": "integer",
"title": "Customer",
"description": "The ID of the customer linked to this issuance service",
"example": 3
},
"credential_templates": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Credential Templates",
"description": "IDs of the credential templates linked to this issuance service",
"example": [1, 2]
},
"users": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Users",
"description": "The IDs of users linked to this issuance service",
"example": [1, 2]
},
"use_x5c": {
"type": "boolean",
"title": "Use X5C",
"description": "The value of use x5c attribute"
}
},
"type": "object",
"title": "IssuanceServicePartialForm"
},
"LimitDisclosureChoices": {
"type": "string",
"enum": [
"required",
"preferred"
],
"title": "LimitDisclosureChoices"
},
"PropertyFormat": {
"type": "string",
"enum": [
"int",
"float",
"str",
"bool",
"date",
"datetime",
"list",
"dict",
"namespace"
],
"title": "PropertyFormat"
},
"ServiceStatusChoices": {
"type": "integer",
"enum": [1, 2],
"title": "ServiceStatusChoices"
},
"ServiceStatusDisplayChoices": {
"type": "string",
"enum": [
"Enabled",
"Disabled"
],
"title": "ServiceStatusDisplayChoices"
},
"TransactionData": {
"properties": {
"type": {
"type": "string",
"title": "Type",
"description": "The type of the transaction. This field represents the category or classification of the transaction.",
"example": "Payment"
},
"credential_ids": {
"items": {
"type": "string"
},
"type": "array",
"title": "Credential Ids",
"description": "A list of credential IDs associated with the transaction. These IDs represent the credentials used in this transaction.",
"example": [
"cred_123",
"cred_456"
]
},
"transaction_data_hashes_alg": {
"items": {
"type": "string"
},
"type": "array",
"title": "Transaction Data Hashes Alg",
"description": "A list of algorithms used to hash the transaction data. This can be used to verify the integrity of the data.",
"example": [
"SHA256",
"SHA512"
]
},
"data": {
"additionalProperties": true,
"type": "object",
"title": "Data",
"description": "A dictionary containing additional transaction data. This field stores key-value pairs of information related to the transaction.",
"example": {
"amount": 100,
"currency": "USD"
}
}
},
"type": "object",
"required": [
"type",
"credential_ids",
"data"
],
"title": "TransactionData"
},
"User": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "The ID of the user",
"example": "3 'always positive number'"
},
"username": {
"type": "string",
"title": "Username",
"description": "The username of the user",
"example": "Jdoe9"
},
"first_name": {
"type": "string",
"title": "First Name",
"description": "The first name of the user",
"example": "Jane"
},
"last_name": {
"type": "string",
"title": "Last Name",
"description": "The last name of the user",
"example": "Doe"
},
"tax_code": {
"type": "string",
"title": "Tax Code",
"description": "The tax_code of the user",
"example": "JNEDOE34..."
},
"email": {
"type": "string",
"format": "email",
"title": "Email",
"description": "The email of the user",
"example": "j.doe@namirial.com"
},
"phone_number": {
"type": "string",
"title": "Phone Number",
"description": "The phone number of the user",
"example": "XXX XXXXXXX"
},
"is_active": {
"type": "boolean",
"title": "Is Active",
"description": "Indicate user account status",
"example": "True"
},
"role": {
"type": "string",
"title": "Role",
"description": "The role of the user",
"example": "Service API"
}
},
"type": "object",
"required": [
"id",
"is_active",
"role"
],
"title": "User"
},
"UserDetailToken": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "The ID of the user",
"example": "3 'always positive number'"
},
"api_token": {
"type": "string",
"title": "Api Token",
"description": "API token used for authenticating requests.",
"example": "secretapitoken"
}
},
"type": "object",
"required": [
"id",
"api_token"
],
"title": "UserDetailToken"
},
"UserForm": {
"properties": {
"first_name": {
"type": "string",
"maxLength": 150,
"title": "First Name",
"description": "The first name of the user",
"example": "Jane"
},
"last_name": {
"type": "string",
"maxLength": 150,
"title": "Last Name",
"description": "The last name of the user",
"example": "Doe"
},
"tax_code": {
"type": "string",
"maxLength": 256,
"title": "Tax Code",
"description": "The tax_code of the user",
"example": "JNEDOE34..."
},
"username": {
"type": "string",
"maxLength": 150,
"title": "Username",
"description": "The username of the user",
"example": "Jdoe9"
},
"password": {
"type": "string",
"title": "Password",
"description": "User password used for authentication.",
"example": "agFSBN451dg54s1g"
},
"email": {
"type": "string",
"maxLength": 254,
"format": "email",
"title": "Email",
"description": "The email of the user",
"example": "j.doe@namirial.com"
},
"phone_number": {
"type": "string",
"maxLength": 32,
"title": "Phone Number",
"description": "The phone number of the user",
"example": "XXX XXXXXXX"
},
"is_active": {
"type": "boolean",
"title": "Is Active",
"description": "Indicates whether the user account is currently active.",
"default": true,
"example": true
},
"role": {
"type": "integer",
"title": "Role",
"description": "The role of the user",
"example": 1
},
"customers": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Customers",
"description": "List of customer IDs to associate with the current entity. Each ID should correspond to a valid customer record.",
"example": [101, 202, 303]
},
"api_token": {
"type": "string",
"maxLength": 128,
"title": "Api Token",
"description": "API token used to authenticate requests. Must be a securely generated string with a maximum length of 128 characters.",
"example": "secretapitoken"
},
"auto_generate_api_token": {
"type": "boolean",
"title": "Auto Generate Api Token",
"description": "If set to true, an API token will be automatically generated.",
"default": false,
"example": true
}
},
"type": "object",
"required": [
"username",
"role"
],
"title": "UserForm"
},
"UserPartialForm": {
"properties": {
"first_name": {
"type": "string",
"maxLength": 150,
"title": "First Name",
"description": "The first name of the user",
"example": "Jane"
},
"last_name": {
"type": "string",
"maxLength": 150,
"title": "Last Name",
"description": "The last name of the user",
"example": "Doe"
},
"tax_code": {
"type": "string",
"maxLength": 256,
"title": "Tax Code",
"description": "The tax code of theuser",
"example": "JNEDOE34..."
},
"username": {
"type": "string",
"maxLength": 150,
"title": "Username",
"description": "The username of the user",
"example": "Jdoe9"
},
"password": {
"type": "string",
"title": "Password",
"description": "User password used for authentication.",
"example": "agFSBN451dg54s1g"
},
"email": {
"type": "string",
"maxLength": 254,
"format": "email",
"title": "Email",
"description": "The email of the user",
"example": "j.doe@namirial.com"
},
"phone_number": {
"type": "string",
"maxLength": 32,
"title": "Phone Number",
"description": "The phone number of the user",
"example": "XXX XXXXXXX"
},
"is_active": {
"type": "boolean",
"title": "Is Active",
"description": "Indicates whether the user account is currently active.",
"example": true
},
"role": {
"type": "integer",
"title": "Role",
"description": "The role of the user",
"example": 1
},
"customers": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Customers",
"description": "List of customer IDs to associate with the current entity. Each ID should correspond to a valid customer record.",
"example": [101, 202, 303]
},
"api_token": {
"type": "string",
"maxLength": 128,
"title": "Api Token",
"description": "API token used to authenticate requests. Must be a securely generated string with a maximum length of 128 characters.",
"example": "secretapitoken"
},
"auto_generate_api_token": {
"type": "boolean",
"title": "Auto Generate Api Token",
"description": "If set to true, an API token will be automatically generated.",
"default": false,
"example": true
}
},
"type": "object",
"title": "UserPartialForm"
},
"VPTokenResponseChoices": {
"type": "string",
"enum": [
"direct_post",
"direct_post.jwt"
],
"title": "VPTokenResponseChoices"
},
"ValidationError": {
"properties": {
"loc": {
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
},
"type": "array",
"title": "Location"
},
"msg": {
"type": "string",
"title": "Message"
},
"type": {
"type": "string",
"title": "Error Type"
}
},
"type": "object",
"required": [
"loc",
"msg",
"type"
],
"title": "ValidationError"
},
"Verification": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "The ID for the verification.",
"example": 123
},
"status": {
"type": "integer",
"title": "Status",
"description": "\nThe status of the verification\n- 1 =\u003E REQUESTED\n- 2 =\u003E FAILED\n- 3 -\u003E COMPLETED\n",
"example": 2
},
"status_display": {
"type": "string",
"title": "Status Display",
"description": "A human-readable version of the verification status. This is a descriptive text corresponding to the status field.",
"example": "Completed"
},
"format": {
"$ref": "#/components/schemas/CredentialFormatChoices",
"description": "\nThe format of credential used by this credential template\n- 1 =\u003E SD+JWT\n- 2 =\u003E MDOC\n",
"example": 1
},
"format_display": {
"type": "string",
"title": "Format Display",
"description": "The human readable version of the verification format",
"example": "SD+JWT"
},
"verification_template": {
"$ref": "#/components/schemas/VerificationTemplate",
"description": "The verification template associated with this verification.",
"example": {
"credential_format": 1,
"credential_format_display": "SD+JWT",
"id": 101,
"name": "Personal Identifier Data",
"schema": {
"display": "Anagraphical data",
"format": "dict",
"optional": false,
"properties": {
"given_name": {
"display": "Given name",
"format": "str",
"optional": false,
"required": true
},
"family_name": {
"display": "Family name",
"format": "str",
"optional": false,
"required": true
},
"birth_date": {
"display": "Date of Birth",
"format": "date",
"optional": true,
"required": false
}
},
"required": true
}
}
},
"verification_service": {
"$ref": "#/components/schemas/VerificationService",
"description": "The verification service used for this verification process. This field contains the service details like name, status, etc.",
"example": "Identity Verification Service"
},
"customer": {
"$ref": "#/components/schemas/Customer",
"description": "The customer associated with this verification. This field contains the customer details like name, ID, and other related information.",
"example": "Customer one"
}
},
"type": "object",
"required": [
"id",
"status",
"status_display",
"format",
"format_display",
"verification_template",
"verification_service",
"customer"
],
"title": "Verification"
},
"VerificationProperty-Input": {
"properties": {
"display": {
"type": "string",
"title": "Display",
"description": "The display name of the property",
"example": "A simple description"
},
"description": {
"type": "string",
"title": "Description",
"description": "The description of the property",
"example": "A simple description"
},
"format": {
"$ref": "#/components/schemas/PropertyFormat",
"description": "\nThe format of the property\n- int =\u003E int type\n- float =\u003E float type\n- str =\u003E str type\n- bool =\u003E bool type\n- date =\u003E date type\n- datetime =\u003E datetime type\n- list =\u003E list type\n- dict =\u003E dict type\n- namespace =\u003E namespace type\n",
"example": "A simple description"
},
"required": {
"type": "boolean",
"title": "Required",
"description": "This attribute indicates if this property is required",
"default": false,
"example": "A simple description"
},
"properties": {
"additionalProperties": {
"$ref": "#/components/schemas/IssuanceProperty-Input"
},
"type": "object",
"title": "Properties",
"description": "Sub-properties of the property",
"example": {
"family_name": {
"display": "Family name",
"format": "str",
"required": true
},
"given_name": {
"display": "Given name",
"format": "str",
"required": true
}
}
},
"optional": {
"type": "boolean",
"title": "Optional",
"description": "This attribute indicates if this property is optional",
"example": "A simple description"
}
},
"type": "object",
"required": [
"format",
"optional"
],
"title": "VerificationProperty"
},
"VerificationProperty-Output": {
"properties": {
"display": {
"type": "string",
"title": "Display",
"description": "The display name of the property",
"example": "A simple description"
},
"description": {
"type": "string",
"title": "Description",
"description": "The description of the property",
"example": "A simple description"
},
"format": {
"$ref": "#/components/schemas/PropertyFormat",
"description": "\nThe format of the property\n- int =\u003E int type\n- float =\u003E float type\n- str =\u003E str type\n- bool =\u003E bool type\n- date =\u003E date type\n- datetime =\u003E datetime type\n- list =\u003E list type\n- dict =\u003E dict type\n- namespace =\u003E namespace type\n",
"example": "A simple description"
},
"required": {
"type": "boolean",
"title": "Required",
"description": "This attribute indicates if this property is required",
"default": false,
"example": "A simple description"
},
"properties": {
"additionalProperties": {
"$ref": "#/components/schemas/IssuanceProperty-Output"
},
"type": "object",
"title": "Properties",
"description": "Sub-properties of the property",
"example": {
"family_name": {
"display": "Family name",
"format": "str",
"required": true
},
"given_name": {
"display": "Given name",
"format": "str",
"required": true
}
}
},
"optional": {
"type": "boolean",
"title": "Optional",
"description": "This attribute indicates if this property is optional",
"example": "A simple description"
}
},
"type": "object",
"required": [
"format",
"optional"
],
"title": "VerificationProperty"
},
"VerificationRequestInit": {
"properties": {
"template_id": {
"type": "integer",
"title": "Template Id",
"description": "The ID of the verification template to be used for the verification request.",
"example": 101
},
"transaction_data": {
"$ref": "#/components/schemas/TransactionData",
"description": "The transaction data associated with the verification request. This contains details about the transaction, such as credential IDs, hashing algorithms, and other related data.",
"example": {
"credential_ids": [
"cred_123",
"cred_456"
],
"data": {
"amount": 100,
"currency": "USD"
},
"transaction_data_hashes_alg": [
"SHA256"
],
"type": "Payment"
}
}
},
"type": "object",
"required": [
"template_id"
],
"title": "VerificationRequestInit"
},
"VerificationService": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "ID for the verification service.",
"example": 123
},
"name": {
"type": "string",
"title": "Name",
"description": "Name of the verification service.",
"example": "Email Verification Service"
},
"status": {
"$ref": "#/components/schemas/ServiceStatusChoices",
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n",
"example": 1
},
"status_display": {
"$ref": "#/components/schemas/ServiceStatusDisplayChoices",
"description": "A human-readable representation of the status of the verification service.",
"example": "Enabled"
},
"response_mode": {
"$ref": "#/components/schemas/VPTokenResponseChoices",
"description": "The response mode"
}
},
"type": "object",
"required": [
"id",
"name",
"status",
"status_display",
"response_mode"
],
"title": "VerificationService"
},
"VerificationServiceForm": {
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"title": "Name",
"description": "The name of the verification service.",
"example": "Email Verification Service"
},
"status": {
"$ref": "#/components/schemas/ServiceStatusChoices",
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n",
"default": 2
},
"verification_templates": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Verification Templates",
"description": "A list of verification template IDs to associate with this service. Each ID represents a different verification template.",
"example": [101, 102, 103]
},
"customer": {
"type": "integer",
"title": "Customer",
"description": "The ID of the customer associated with the verification service. This field represents a unique customer.",
"example": 123
},
"users": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Users",
"description": "A list of user IDs to associate with this service. These users may have specific roles or permissions for using the verification service.",
"example": [456, 789]
},
"response_mode": {
"$ref": "#/components/schemas/VPTokenResponseChoices",
"description": "The response mode",
"default": "direct_post.jwt"
}
},
"type": "object",
"required": [
"name",
"verification_templates",
"customer"
],
"title": "VerificationServiceForm"
},
"VerificationServicePartialUpdate": {
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"title": "Name",
"description": "The name of the verification service. This field is optional and can be used to update the service name.",
"example": "Email Verification Service"
},
"status": {
"type": "integer",
"title": "Status",
"description": "\nThe status of the issuance service\n- 1 =\u003E Enabled\n- 2 =\u003E Disabled\n"
},
"verification_templates": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Verification Templates",
"description": "A list of verification template IDs associated with this service. This field is optional and can be used to update the list of templates.",
"example": [101, 102, 103]
},
"customer": {
"type": "integer",
"title": "Customer",
"description": "The ID of the customer associated with the verification service. This field is optional and can be used to update the customer ID.",
"example": 123
},
"users": {
"items": {
"type": "integer"
},
"type": "array",
"title": "Users",
"description": "A list of user IDs associated with this service. This field is optional and can be used to update the list of users who have access to the service.",
"example": [456, 789]
},
"response_mode": {
"$ref": "#/components/schemas/VPTokenResponseChoices",
"description": "The response mode"
}
},
"type": "object",
"title": "VerificationServicePartialUpdate"
},
"VerificationTemplate": {
"properties": {
"id": {
"type": "integer",
"title": "Id",
"description": "The ID of the verification template",
"example": 123
},
"name": {
"type": "string",
"title": "Name",
"description": "The name of the verification template",
"example": "Personal Identifier Data"
},
"credential_format": {
"$ref": "#/components/schemas/CredentialFormatChoices",
"description": "\nThe format of credential used by this credential template\n- 1 =\u003E SD+JWT\n- 2 =\u003E MDOC\n",
"example": 1
},
"credential_format_display": {
"$ref": "#/components/schemas/CredentialFormatChoicesDisplay",
"description": "The human readable version of the credential format used by this verification template",
"example": "SD+JWT"
},
"credential_type": {
"type": "string",
"title": "Credential Type",
"description": "The credential type. It represents the 'vct' field of an SD+JWT credential. Instead, It represents the 'doctype' field of an MDOC credential.",
"example": "eu.europa.ec.eudi.pid.1"
},
"limit_disclosure": {
"$ref": "#/components/schemas/LimitDisclosureChoices",
"description": "The limit disclosure used by this verification template"
},
"schema": {
"additionalProperties": {
"$ref": "#/components/schemas/VerificationProperty-Output"
},
"type": "object",
"title": "Schema",
"description": "The schema of the verification template",
"example": {
"display": "Anagraphical data",
"format": "dict",
"optional": false,
"properties": {
"given_name": {
"display": "Given name",
"format": "str",
"optional": false,
"required": true
},
"family_name": {
"display": "Family name",
"format": "str",
"optional": false,
"required": true
}
},
"required": true
}
}
},
"type": "object",
"required": [
"id",
"name",
"credential_format",
"credential_format_display",
"credential_type",
"limit_disclosure"
],
"title": "VerificationTemplate"
},
"VerificationTemplateForm": {
"properties": {
"name": {
"type": "string",
"maxLength": 256,
"title": "Name",
"description": "The name of the verification template",
"example": "Verification of Personal Identifier Data"
},
"credential_template": {
"type": "integer",
"title": "Credential Template",
"description": "The related credential template",
"example": 1
},
"limit_disclosure": {
"$ref": "#/components/schemas/LimitDisclosureChoices",
"description": "The limit disclosure used by this verification template"
},
"schema": {
"additionalProperties": {
"$ref": "#/components/schemas/VerificationProperty-Input"
},
"type": "object",
"title": "Schema",
"description": "The schema of the verification template",
"example": {
"anagraphical_data": {
"display": "Anagraphical data",
"format": "dict",
"optional": false,
"properties": {
"given_name": {
"display": "Given name",
"format": "str",
"optional": false,
"required": true
},
"family_name": {
"display": "Family name",
"format": "str",
"optional": false,
"required": true
}
},
"required": true
}
}
}
},
"type": "object",
"required": [
"name",
"credential_template",
"limit_disclosure",
"schema"
],
"title": "VerificationTemplateForm"
},
"VerificationsStatusChoices": {
"type": "integer",
"enum": [1, 2, 3],
"title": "VerificationsStatusChoices"
}
},
"securitySchemes": {
"HTTPBearer": {
"type": "http",
"scheme": "bearer"
}
}
}
}
Last updated