Update an mDocs configuration
Updates an existing mDocs configuration by providing its ID.
Roles
Analytics Events
bearerAuthAuthorizationBearer <token>id*stringmDocs configuration ID
uuidUpdate an mDocs configuration
application/json- body
type*stringUsed to differentiate between different mDocs configurations on your tenant. Thus, its value must:
- Be unique across all mDocs configurations on your tenant.
- Not be
VerifiableCredential. - When set to
org.iso.18013.5.*.mDL(where*is a positive integer), MATTR VII recognizes that this is attempt to create an mDL credential configuration and will fail if the validity period is set to 427 days or more.
1 <= length <= 1024claimMappings*This is where you specify how to map claims (user attributes) into issued credentials.
claimSourceId?stringReferences the unique identifier of a claims source that can be used to retrieve claims and include them in the issued credential.
uuidexpiresIn*Used to determine when issued credentials will expire, relative to issuance date:
- Ignored if a valid
validUntildate/time is provided. - Cannot be before the
validFromdate/time. - If
expiresInis used to determine the credential's expiry date andvalidFromis provided, the expiration date will still be calculated based on the issuance date, not thevalidFromvalue. - Can include any combination of years, months, weeks, days, hours, minutes and seconds.
- If
typeis set toorg.iso.18013.5.*.mDL(for issuing an mDL), the maximum validity is 427 days. - For any other
type, the maximum validity is 3620 days.
Credential expiry can never exceed the validity period of the IACA used as the root certificate when signing the credential. However, all validity checks (including those for IACA and credential validity periods) only occur when an individual credential is being signed, not when the generic credential configuration template is created (Refer to IACA selection for more information on how an IACA is selected when signing an mDoc). As a result, issuance will fail if the expiresIn value exceeds the validity of all currently active IACAs at the time of issuance.
validFrom?Specifies an explicit date and time from which the credential becomes valid, mapped from the user's claims. Use it when the start date differs for each issued credential.
mapFromis the path to the claim that holds the date and time (for example,claims.validFrom), not the date itself. It uses the same syntax asmapFrominclaimMappings.- At issuance, the value of the mapped claim must be a valid ISO 8601 date/time string (for example,
2026-11-01T00:00:00Z), otherwise issuance fails. - If not provided, or if the mapped claim is not present at issuance, defaults to using the issuance date as the starting point for the credential's validity.
- Cannot be after the credential's expiration date/time.
- Cannot be before the credential's issuance date/time.
Credential expiry can never exceed the validity period of the IACA used as the root certificate when signing the credential. However, all validity checks (including those for IACA and credential validity periods) only occur when an individual credential is being signed, not when the generic credential configuration template is created (Refer to IACA selection for more information on how an IACA is selected when signing an mDoc). As a result, issuance will fail if the validFrom value exceeds the validity of all currently active IACAs at the time of issuance.
validUntil?Specifies an explicit date and time at which the credential expires, mapped from the user's claims. Use it when the expiry date differs for each issued credential, such as a credential derived from another document that must not outlive it.
mapFromis the path to the claim that holds the date and time (for example,claims.validUntil), not the date itself. It uses the same syntax asmapFrominclaimMappings.- At issuance, the value of the mapped claim must be a valid ISO 8601 date/time string (for example,
2027-11-01T00:00:00Z), otherwise issuance fails. - If not provided, or if the mapped claim is not present at issuance, the expiration date will be determined based on the
expiresInvalue provided in the credential configuration. - Cannot be before the
validFromdate/time. - If
typeis set toorg.iso.18013.5.*.mDL(for issuing an mDL), the maximum validity is 427 days. - For any other
type, the maximum validity is 3620 days.
Credential expiry can never exceed the validity period of the IACA used as the root certificate when signing the credential. However, all validity checks (including those for IACA and credential validity periods) only occur when an individual credential is being signed, not when the generic credential configuration template is created (Refer to IACA selection for more information on how an IACA is selected when signing an mDoc). As a result, issuance will fail if the validUntil value exceeds the validity of all currently active IACAs at the time of issuance.
branding?Used to apply branding to issued credentials.
Branding is written into each issued credential, in a private _branding field of the Mobile Security Object (MSO) that is covered by the issuer's signature. It is therefore available to the holder offline, and it travels with the credential when it is presented. It is also fixed at issuance, so updating branding here does not change credentials that have already been issued.
_branding is a custom extension element to ISO/IEC 18013-5 rather than a standardized feature, so holder and verifier applications need to be built to read it. MATTR SDKs and MATTR GO handle this out of the box. If you are working with other solutions, confirm that they read _branding before you rely on it for display. Applications that do not recognize the field ignore it.
includeStatus?booleanWhen set to true, issued mDocs are revocable. They include a status object, which refers a Status list where the mDoc status is indicated. Revocable mDocs are issued as valid by default, but this status can later be changed to invalid.
falsemDocs configuration updated
application/json- response
id*stringUniquely identifies the created credential configuration. This identifier can be used to create an offer based on this credential configuration, or to retrieve, update or remove the credential configuration.
uuidbranding?Credential branding information.
Branding is written into each credential issued from this configuration, in a custom _branding extension element to ISO/IEC 18013-5 that is not standardized. Holder and verifier applications need to be built to read it, which MATTR SDKs and MATTR GO do out of the box.
includeStatus?booleanWhen set to true, issued mDocs will include a 'status' field, which can be subsequently changed to 'valid' or 'invalid'.
falsetype*stringUsed to differentiate between different mDocs configurations on your tenant. Thus, its value must:
- Be unique across all mDocs configurations on your tenant.
- Not be
VerifiableCredential. - When set to
org.iso.18013.5.*.mDL(where*is a positive integer), MATTR VII recognizes that this is attempt to create an mDL credential configuration and will fail if the validity period is set to 427 days or more.
1 <= length <= 1024claimMappings*This is where you specify how to map claims (user attributes) into issued credentials.
claimSourceId?stringReferences the unique identifier of a claims source that can be used to retrieve claims and include them in the issued credential.
uuidexpiresIn*Used to determine when issued credentials will expire, relative to issuance date:
- Ignored if a valid
validUntildate/time is provided. - Cannot be before the
validFromdate/time. - If
expiresInis used to determine the credential's expiry date andvalidFromis provided, the expiration date will still be calculated based on the issuance date, not thevalidFromvalue. - Can include any combination of years, months, weeks, days, hours, minutes and seconds.
- If
typeis set toorg.iso.18013.5.*.mDL(for issuing an mDL), the maximum validity is 427 days. - For any other
type, the maximum validity is 3620 days.
Credential expiry can never exceed the validity period of the IACA used as the root certificate when signing the credential. However, all validity checks (including those for IACA and credential validity periods) only occur when an individual credential is being signed, not when the generic credential configuration template is created (Refer to IACA selection for more information on how an IACA is selected when signing an mDoc). As a result, issuance will fail if the expiresIn value exceeds the validity of all currently active IACAs at the time of issuance.
validFrom?Specifies an explicit date and time from which the credential becomes valid, mapped from the user's claims. Use it when the start date differs for each issued credential.
mapFromis the path to the claim that holds the date and time (for example,claims.validFrom), not the date itself. It uses the same syntax asmapFrominclaimMappings.- At issuance, the value of the mapped claim must be a valid ISO 8601 date/time string (for example,
2026-11-01T00:00:00Z), otherwise issuance fails. - If not provided, or if the mapped claim is not present at issuance, defaults to using the issuance date as the starting point for the credential's validity.
- Cannot be after the credential's expiration date/time.
- Cannot be before the credential's issuance date/time.
Credential expiry can never exceed the validity period of the IACA used as the root certificate when signing the credential. However, all validity checks (including those for IACA and credential validity periods) only occur when an individual credential is being signed, not when the generic credential configuration template is created (Refer to IACA selection for more information on how an IACA is selected when signing an mDoc). As a result, issuance will fail if the validFrom value exceeds the validity of all currently active IACAs at the time of issuance.
validUntil?Specifies an explicit date and time at which the credential expires, mapped from the user's claims. Use it when the expiry date differs for each issued credential, such as a credential derived from another document that must not outlive it.
mapFromis the path to the claim that holds the date and time (for example,claims.validUntil), not the date itself. It uses the same syntax asmapFrominclaimMappings.- At issuance, the value of the mapped claim must be a valid ISO 8601 date/time string (for example,
2027-11-01T00:00:00Z), otherwise issuance fails. - If not provided, or if the mapped claim is not present at issuance, the expiration date will be determined based on the
expiresInvalue provided in the credential configuration. - Cannot be before the
validFromdate/time. - If
typeis set toorg.iso.18013.5.*.mDL(for issuing an mDL), the maximum validity is 427 days. - For any other
type, the maximum validity is 3620 days.
Credential expiry can never exceed the validity period of the IACA used as the root certificate when signing the credential. However, all validity checks (including those for IACA and credential validity periods) only occur when an individual credential is being signed, not when the generic credential configuration template is created (Refer to IACA selection for more information on how an IACA is selected when signing an mDoc). As a result, issuance will fail if the validUntil value exceeds the validity of all currently active IACAs at the time of issuance.
curl -X PUT 'https://example.vii.au01.mattr.global/v2/credentials/mobile/configurations/3948c40e-6e19-4ffc-933c-91f643f24264' \ -H 'Content-Type: application/json' \ -d '{ "type": "org.iso.18013.5.1.mDL", "expiresIn": { "months": 1 }, "claimMappings": { "org.iso.18013.5.1": { "given_name": { "mapFrom": "claims.given_name", "required": true, "type": "string" }, "birth_date": { "mapFrom": "claims.date_of_birth", "required": true, "type": "dateTime" } } }, "branding": { "name": "Credential name", "description": "Credential Description" }}'{ "id": "983c0a86-204f-4431-9371-f5a22e506599", "branding": { "name": "Credential name", "description": "Credential Description", "backgroundColor": "#FFFFFF", "watermarkImage": "data:image/png;base64,{image-data}", "issuerLogo": "data:image/png;base64,{image-data}", "issuerIcon": "data:image/svg+xml;base64,{image-data}" }, "includeStatus": true, "type": "org.iso.18013.5.1.mDL", "claimMappings": { "org.iso.18013.5.1": { "given_name": { "mapFrom": "claims.given_name", "required": true, "type": "string", "display": [ { "name": "Given Name", "locale": "en-US" }, { "name": "Vorname", "locale": "de-DE" } ] }, "birth_date": { "mapFrom": "claims.date_of_birth", "required": true, "type": "dateTime" } } }, "claimSourceId": "78e1b90c-401d-45bb-89c0-938da4d44c60", "expiresIn": { "years": 0, "months": 1, "weeks": 0, "days": 0, "hours": 0, "minutes": 0, "seconds": 0 }, "validFrom": { "mapFrom": "claims.validFrom" }, "validUntil": { "mapFrom": "claims.validUntil" }}How would you rate this page?