openapi: 3.0.0
info:
title: Auth0 Authentication actions verifiable-credentials API
description: Auth0 Authentication API. Endpoints for authentication and authorization using OpenID Connect, OAuth 2.0, SAML, WS-Federation, and Passwordless flows.
version: 1.0.0
servers:
- url: '{auth0_domain}'
description: The Authentication API is served over HTTPS.
variables:
auth0_domain:
description: Auth0 domain
default: https://demo.us.auth0.com
tags:
- name: verifiable-credentials
paths:
/verifiable-credentials/verification/templates:
get:
summary: List Verifiable Credential Templates for a Tenant.
description: List verifiable credential templates.
tags:
- verifiable-credentials
parameters:
- name: from
in: query
description: Optional Id from which to start selection.
schema:
type: string
- name: take
in: query
description: Number of results per page. Defaults to 50.
schema:
type: integer
minimum: 1
maximum: 100
responses:
'200':
description: Templates successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/ListVerifiableCredentialTemplatesPaginatedResponseContent'
'400':
description: Invalid request body. The message will vary depending on the cause.
'401':
description: Invalid token.
x-description-1: Invalid signature received for JSON Web Token validation.
x-description-2: Client is not global.
'403':
description: 'Insufficient scope; expected any of: read:vdcs_templates.'
'429':
description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
operationId: get_vc_templates
x-release-lifecycle: GA
x-operation-name: list
x-operation-request-parameters-name: ListVerifiableCredentialTemplatesRequestParameters
x-operation-group:
- verifiableCredentials
- verification
- templates
security:
- bearerAuth: []
- oAuth2ClientCredentials:
- read:vdcs_templates
post:
summary: Create a Verifiable Credential Template.
description: Create a verifiable credential template.
tags:
- verifiable-credentials
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVerifiableCredentialTemplateRequestContent'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/CreateVerifiableCredentialTemplateRequestContent'
responses:
'201':
description: Template successfully created.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateVerifiableCredentialTemplateResponseContent'
'400':
description: Invalid request body. The message will vary depending on the cause.
'401':
description: Invalid token.
x-description-1: Invalid signature received for JSON Web Token validation.
x-description-2: Client is not global.
'403':
description: 'Insufficient scope; expected any of: update:vdcs_templates.'
'409':
description: Template (name) already exists.
'429':
description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
operationId: post_vc_templates
x-release-lifecycle: GA
x-operation-name: create
x-operation-group:
- verifiableCredentials
- verification
- templates
security:
- bearerAuth: []
- oAuth2ClientCredentials:
- create:vdcs_templates
/verifiable-credentials/verification/templates/{id}:
get:
summary: Get a Verifiable Credential Template by ID.
description: Get a verifiable credential template.
tags:
- verifiable-credentials
parameters:
- name: id
in: path
description: ID of the template to retrieve.
required: true
schema:
type: string
maxLength: 26
responses:
'200':
description: Template successfully retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/GetVerifiableCredentialTemplateResponseContent'
'400':
description: Invalid request body. The message will vary depending on the cause.
'401':
description: Invalid token.
x-description-1: Invalid signature received for JSON Web Token validation.
x-description-2: Client is not global.
'403':
description: 'Insufficient scope; expected any of: read:vdcs_templates.'
'404':
description: The verifiable credential template does not exist.
'429':
description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
operationId: get_vc_templates_by_id
x-release-lifecycle: GA
x-operation-name: get
x-operation-group:
- verifiableCredentials
- verification
- templates
security:
- bearerAuth: []
- oAuth2ClientCredentials:
- read:vdcs_templates
delete:
summary: Delete a Verifiable Credential Template by ID.
description: Delete a verifiable credential template.
tags:
- verifiable-credentials
parameters:
- name: id
in: path
description: ID of the template to retrieve.
required: true
schema:
type: string
maxLength: 26
responses:
'204':
description: Template successfully deleted.
'400':
description: Invalid request body. The message will vary depending on the cause.
'401':
description: Invalid token.
x-description-1: Invalid signature received for JSON Web Token validation.
x-description-2: Client is not global.
'403':
description: 'Insufficient scope; expected any of: delete:vdcs_templates.'
'429':
description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
operationId: delete_vc_templates_by_id
x-release-lifecycle: GA
x-operation-name: delete
x-operation-group:
- verifiableCredentials
- verification
- templates
security:
- bearerAuth: []
- oAuth2ClientCredentials:
- delete:vdcs_templates
patch:
summary: Update a Verifiable Credential Template by ID.
description: Update a verifiable credential template.
tags:
- verifiable-credentials
parameters:
- name: id
in: path
description: ID of the template to retrieve.
required: true
schema:
type: string
maxLength: 26
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVerifiableCredentialTemplateRequestContent'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/UpdateVerifiableCredentialTemplateRequestContent'
responses:
'200':
description: Template successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateVerifiableCredentialTemplateResponseContent'
'400':
description: Invalid request body. The message will vary depending on the cause.
'401':
description: Invalid token.
x-description-1: Invalid signature received for JSON Web Token validation.
x-description-2: Client is not global.
'403':
description: 'Insufficient scope; expected any of: update:vdcs_templates.'
'409':
description: Template (name) already exists.
'429':
description: Too many requests. Check the X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset headers.
operationId: patch_vc_templates_by_id
x-release-lifecycle: GA
x-operation-name: update
x-operation-group:
- verifiableCredentials
- verification
- templates
security:
- bearerAuth: []
- oAuth2ClientCredentials:
- update:vdcs_templates
components:
schemas:
ListVerifiableCredentialTemplatesPaginatedResponseContent:
type: object
additionalProperties: false
properties:
next:
type:
- string
- 'null'
description: Opaque identifier for use with the from query parameter for the next page of results.
This identifier is valid for 24 hours.
templates:
type: array
items:
$ref: '#/components/schemas/VerifiableCredentialTemplateResponse'
MdlPresentationRequestProperties:
type: object
additionalProperties: false
required:
- org.iso.18013.5.1
properties:
org.iso.18013.5.1:
$ref: '#/components/schemas/MdlPresentationProperties'
CreateVerifiableCredentialTemplateResponseContent:
type: object
additionalProperties: true
properties:
id:
type: string
description: The id of the template.
default: vct_0000000000000001
name:
type: string
description: The name of the template.
type:
type: string
description: The type of the template.
default: mdl
dialect:
type: string
description: The dialect of the template.
default: simplified/1.0
maxLength: 255
presentation:
$ref: '#/components/schemas/MdlPresentationRequest'
custom_certificate_authority:
type:
- string
- 'null'
description: The custom certificate authority.
minLength: 1
maxLength: 4096
well_known_trusted_issuers:
type:
- string
- 'null'
description: The well-known trusted issuers, comma separated.
minLength: 1
maxLength: 255
created_at:
type: string
description: The date and time the template was created.
default: '2021-01-01T00:00:00Z'
format: date-time
updated_at:
type: string
description: The date and time the template was created.
default: '2021-01-01T00:00:00Z'
format: date-time
MdlPresentationProperties:
type: object
additionalProperties: true
minProperties: 1
properties:
family_name:
type: boolean
description: Family Name
given_name:
type: boolean
description: Given Name
birth_date:
type: boolean
description: Birth Date
issue_date:
type: boolean
description: Issue Date
expiry_date:
type: boolean
description: Expiry Date
issuing_country:
type: boolean
description: Issuing Country
issuing_authority:
type: boolean
description: Issuing Authority
portrait:
type: boolean
description: Portrait
driving_privileges:
type: boolean
description: Driving Privileges
resident_address:
type: boolean
description: Resident Address
portrait_capture_date:
type: boolean
description: Portrait Capture Date
age_in_years:
type: boolean
description: Age in Years
age_birth_year:
type: boolean
description: Age Birth Year
issuing_jurisdiction:
type: boolean
description: Issuing Jurisdiction
nationality:
type: boolean
description: Nationality
resident_city:
type: boolean
description: Resident City
resident_state:
type: boolean
description: Resident State
resident_postal_code:
type: boolean
description: Resident Postal Code
resident_country:
type: boolean
description: Resident Country
family_name_national_character:
type: boolean
description: Family Name National Character
given_name_national_character:
type: boolean
description: Given Name National Character
UpdateVerifiableCredentialTemplateResponseContent:
type: object
additionalProperties: true
properties:
id:
type: string
description: The id of the template.
default: vct_0000000000000001
name:
type: string
description: The name of the template.
type:
type: string
description: The type of the template.
default: mdl
dialect:
type: string
description: The dialect of the template.
default: simplified/1.0
maxLength: 255
presentation:
$ref: '#/components/schemas/MdlPresentationRequest'
custom_certificate_authority:
type:
- string
- 'null'
description: The custom certificate authority.
minLength: 1
maxLength: 4096
well_known_trusted_issuers:
type:
- string
- 'null'
description: The well-known trusted issuers, comma separated.
minLength: 1
maxLength: 255
created_at:
type: string
description: The date and time the template was created.
default: '2021-01-01T00:00:00Z'
format: date-time
updated_at:
type: string
description: The date and time the template was created.
default: '2021-01-01T00:00:00Z'
format: date-time
VerifiableCredentialTemplateResponse:
type: object
additionalProperties: true
properties:
id:
type: string
description: The id of the template.
default: vct_0000000000000001
name:
type: string
description: The name of the template.
type:
type: string
description: The type of the template.
default: mdl
dialect:
type: string
description: The dialect of the template.
default: simplified/1.0
maxLength: 255
presentation:
$ref: '#/components/schemas/MdlPresentationRequest'
custom_certificate_authority:
type:
- string
- 'null'
description: The custom certificate authority.
minLength: 1
maxLength: 4096
well_known_trusted_issuers:
type:
- string
- 'null'
description: The well-known trusted issuers, comma separated.
minLength: 1
maxLength: 255
created_at:
type: string
description: The date and time the template was created.
default: '2021-01-01T00:00:00Z'
format: date-time
updated_at:
type: string
description: The date and time the template was created.
default: '2021-01-01T00:00:00Z'
format: date-time
CreateVerifiableCredentialTemplateRequestContent:
type: object
additionalProperties: false
required:
- name
- dialect
- presentation
- type
- well_known_trusted_issuers
properties:
name:
type: string
minLength: 1
maxLength: 255
type:
type: string
minLength: 1
maxLength: 255
dialect:
type: string
maxLength: 255
pattern: ^simplified/1.0$
presentation:
$ref: '#/components/schemas/MdlPresentationRequest'
custom_certificate_authority:
type:
- string
- 'null'
minLength: 1
maxLength: 4096
well_known_trusted_issuers:
type: string
minLength: 1
maxLength: 255
pattern: ^aamva$
UpdateVerifiableCredentialTemplateRequestContent:
type: object
additionalProperties: false
properties:
name:
type:
- string
- 'null'
minLength: 1
maxLength: 255
type:
type:
- string
- 'null'
minLength: 1
maxLength: 255
dialect:
type:
- string
- 'null'
maxLength: 255
pattern: ^simplified/1.0$
presentation:
$ref: '#/components/schemas/MdlPresentationRequest'
well_known_trusted_issuers:
type:
- string
- 'null'
minLength: 1
maxLength: 255
pattern: ^aamva$
version:
type:
- number
- 'null'
GetVerifiableCredentialTemplateResponseContent:
type: object
additionalProperties: true
properties:
id:
type: string
description: The id of the template.
default: vct_0000000000000001
name:
type: string
description: The name of the template.
type:
type: string
description: The type of the template.
default: mdl
dialect:
type: string
description: The dialect of the template.
default: simplified/1.0
maxLength: 255
presentation:
$ref: '#/components/schemas/MdlPresentationRequest'
custom_certificate_authority:
type:
- string
- 'null'
description: The custom certificate authority.
minLength: 1
maxLength: 4096
well_known_trusted_issuers:
type:
- string
- 'null'
description: The well-known trusted issuers, comma separated.
minLength: 1
maxLength: 255
created_at:
type: string
description: The date and time the template was created.
default: '2021-01-01T00:00:00Z'
format: date-time
updated_at:
type: string
description: The date and time the template was created.
default: '2021-01-01T00:00:00Z'
format: date-time
MdlPresentationRequest:
type: object
description: A simplified presentation request
additionalProperties: false
required:
- org.iso.18013.5.1.mDL
properties:
org.iso.18013.5.1.mDL:
$ref: '#/components/schemas/MdlPresentationRequestProperties'