Mobile-ID · Digital Trust
ISO/IEC 27001 · FIDO2 · OpenID — View scope
Mobile-ID Sign · INTEGRATION & DOCUMENTATION

Trusted SIC — Authorization and hash signing

An edited guide to Compact 1.7.261001 with migration, operation sources and contract limits.

Coverage and integration prerequisites

Source documentation, contract confirmation, sandbox testing and production acceptance are separate stages. Website version changes do not advance readiness.

Review coverage for each operation
Per-operation readiness
OperationDocumentationContractSandbox
POST /v2/auth/loginSelected fieldsDeployment not confirmedNot tested
POST /v2/auth/revokeSelected fieldsDeployment not confirmedNot tested
POST /v2/credentials/issueSelected fieldsDeployment not confirmedNot tested
POST /v2/credentials/listSelected fieldsDeployment not confirmedNot tested
POST /v2/credentials/infoSelected fieldsDeployment not confirmedNot tested
POST /v2/credentials/authorizeSelected fieldsDeployment not confirmedNot tested
POST /v2/signatures/signHashSelected fieldsDeployment not confirmedNot tested
POST /v2/owner/managementSelected fieldsDeployment not confirmedNot tested
Download scope-specific OpenAPI · Download documentary Postman

Compact scope

Source: Trusted SIC 1.7.261001, “Compact document”. The catalog has 8 REST operations, 3 views, 3 redirect types and 4 callback types. OpenAPI contains selected fields, not complete schemas or an accepted production contract.

From credential to a validated document

  1. Select a credential and inspect authorization requirements
  2. Generate digests from the exact document revision
  3. authorize: Receive a view token, not a signature
  4. User confirms; backend receives SAD under the contract
  5. signHash: Receive signature data or a tracking identifier
  6. Assemble → validate → store document and evidence

202 Accepted at authorize acknowledges acceptance only. Passkey is an authentication/authorization mechanism in the described journey; it is not a certificate or a digital signature.

Migration from 1.7.260928

SIC migration
OperationNew documentAction
/v2/auth/login, /v2/auth/revokePresent in CompactAdd catalog and selected fields; no secret fixture.
/v2/credentials/issue, list, info, authorizePresent in CompactReconcile schemas, modes and namespaces against the new version.
/v2/signatures/signHash, /v2/owner/managementPresent in CompactSeparate authorization, signing and document completion.
providers / package / issueCheck / authorizeCheck / signPolling / historyNot described in CompactRetain 1.7.260928 separately; do not infer removal.

Source-based API Reference

POST/v2/auth/login

Authenticate application

Source documented · Deployment contract unconfirmed · Sandbox not tested

Source: Trusted SIC 1.7.261001 (Compact document) · PDF 6 · selected-fields

Prerequisites: Agree deployment scope, authentication and permissions with Mobile-ID. Keep tokens and signing data on the backend; do not execute from this demo page.

Source authentication: Basic

Input — Documented fields

Content-Type: application/json

Fields edited from the source
FieldTypePresenceMeaning and limits
refresh_tokenstringConditionalConditional refresh credential; Basic versus refresh selection needs confirmation.
rememberMestringOptionalSource table uses String; the example uses a Boolean.

HTTP 200

Fields edited from the source
FieldTypePresenceMeaning and limits
access_tokenstringRequiredApplication access token; store on the backend.
refresh_tokenstringOptionalRefresh token.
expires_inintegerOptionalAccess-token expiry value.

Items to confirm: SIC12-LOGIN

POST/v2/auth/revoke

Revoke an application token

Source documented · Deployment contract unconfirmed · Sandbox not tested

Source: Trusted SIC 1.7.261001 (Compact document) · PDF 8 · selected-fields

Prerequisites: Agree deployment scope, authentication and permissions with Mobile-ID. Keep tokens and signing data on the backend; do not execute from this demo page.

Source authentication: Bearer

Input — Documented fields

Content-Type: application/json

Fields edited from the source
FieldTypePresenceMeaning and limits
tokenstringRequiredToken to revoke.
token_type_hintstringOptionalToken-type hint.
POST/v2/credentials/issue

Issue a credential

Source documented · Deployment contract unconfirmed · Sandbox not tested

Source: Trusted SIC 1.7.261001 (Compact document) · PDF 9 · selected-fields

Prerequisites: Agree deployment scope, authentication and permissions with Mobile-ID. Keep tokens and signing data on the backend; do not execute from this demo page.

Source authentication: Bearer

Input — Documented fields

Content-Type: application/json

Fields edited from the source
FieldTypePresenceMeaning and limits
aliasstringOptionalOptional alias.
citizenIdstringConditionalRequired conditionally for synchronous issuance; mode mapping is contradictory.
packageIdstringConditionalRequired conditionally for synchronous issuance.
operationModestring · S, AOptionalIssue table: S asynchronous / A synchronous; response tables conflict.
sharedModestringOptionalSharing model from the agreed configuration.
SCALstring · 1, 2OptionalSource binding level; not a certification claim.
agreementUUIDstringOptionalCaller agreement data.
viewobjectOptional
view.langstring · VI, ENOptionalUI language.
view.expiresInintegerOptionalUnit is unresolved in the source; do not infer a duration.
view.callbackUrlstringOptionalBackend result callback URL.
view.redirectUrlstringOptionalBrowser redirect URL; not proof of completion.
view.fontSizestringOptionalView font size.
view.templateUiIdstringOptionalUI template identifier.

HTTP default

Fields edited from the source
FieldTypePresenceMeaning and limits
tokenstringConditionalView token when a UI is used; response conditions need confirmation.

Items to confirm: SIC12-MODE, SIC12-VIEW

POST/v2/credentials/list

List credentials for an owner

Source documented · Deployment contract unconfirmed · Sandbox not tested

Source: Trusted SIC 1.7.261001 (Compact document) · PDF 13 · selected-fields

Prerequisites: Agree deployment scope, authentication and permissions with Mobile-ID. Keep tokens and signing data on the backend; do not execute from this demo page.

Source authentication: Bearer

Parameters

Operation parameters
NameInRequiredType
x-page-noheaderNostring
x-records-per-pageheaderNostring

Input — Documented fields

Content-Type: application/json

Fields edited from the source
FieldTypePresenceMeaning and limits
userIDstringRequiredIdentity identifier of the credential owner.
credentialInfobooleanOptionalInclude credential information.
certificatesstring · none, single, chainOptionalCertificate chain selection.
certInfobooleanOptionalInclude certificate fields.
authInfobooleanOptionalInclude authorization mechanism information.
onlyValidbooleanOptionalFilter usable credentials; not a signature validation result.
langstring · VI, ENOptionalResponse language.

HTTP 200

Fields edited from the source
FieldTypePresenceMeaning and limits
credentialIDsarrayRequiredCredential identifiers.
credentialInfosarrayConditionalConditional credential information objects; partial schema.
Synthetic example — No API call
{
  "userID": "DEMO-OWNER",
  "certificates": "single",
  "onlyValid": true
}

Items to confirm: SIC12-NAMESPACE

POST/v2/credentials/info

Inspect a credential before authorization

Source documented · Deployment contract unconfirmed · Sandbox not tested

Source: Trusted SIC 1.7.261001 (Compact document) · PDF 18 · selected-fields

Prerequisites: Agree deployment scope, authentication and permissions with Mobile-ID. Keep tokens and signing data on the backend; do not execute from this demo page.

Source authentication: Bearer

Input — Documented fields

Content-Type: application/json

Fields edited from the source
FieldTypePresenceMeaning and limits
credentialIDstringRequiredCredential identifier; keep distinct from a certificate and a transaction.
certificatesstring · none, single, chainOptionalCertificate chain selection.
certInfobooleanOptionalInclude certificate fields.
authInfobooleanOptionalInclude authorization mechanism.
langstringOptionalResponse language.

HTTP 200

Fields edited from the source
FieldTypePresenceMeaning and limits
multisignstringOptionalMaximum signatures: Source table uses String while an example uses a number.
SCALstring · 1, 2OptionalHash/SAD binding level.
Synthetic example — No API call
{
  "credentialID": "DEMO-CREDENTIAL",
  "certInfo": true
}

Items to confirm: SIC12-MULTISIGN

POST/v2/credentials/authorize

Authorize the exact digests

Source documented · Deployment contract unconfirmed · Sandbox not tested

Source: Trusted SIC 1.7.261001 (Compact document) · PDF 22 · selected-fields

Prerequisites: Agree deployment scope, authentication and permissions with Mobile-ID. Keep tokens and signing data on the backend; do not execute from this demo page.

Source authentication: Bearer

Input — Documented fields

Content-Type: application/json

Fields edited from the source
FieldTypePresenceMeaning and limits
credentialIDstringRequiredCredential identifier; keep distinct from a certificate and a transaction.
numSignaturesintegerRequiredNumber of signatures requested; no unpublished limit inferred.
documentDigestsobjectRequiredDigests to bind to authorization.
documentDigests.hashesarrayRequiredBase64 digests bound to authorization.
documentDigests.hashAlgorithmOIDstringRequiredDigest algorithm OID; agree with the signing service.
descriptionstringOptionalHuman-readable transaction description.
agreementUUIDstringOptionalCaller agreement data.
usernamestringOptionalManagement-session username.
clientInfoobjectOptional
clientInfo.applicationstringOptionalApplication name.
viewobjectOptional
view.langstring · VI, ENOptionalUI language.
view.expiresInintegerOptionalUnit is unresolved in the source; do not infer a duration.
view.callbackUrlstringOptionalBackend result callback URL.
view.redirectUrlstringOptionalBrowser redirect URL; not proof of completion.
view.fontSizestringOptionalView font size.
view.templateUiIdstringOptionalUI template identifier.

HTTP 202

Fields edited from the source
FieldTypePresenceMeaning and limits
tokenstringRequiredToken used to open authorization view. This is not a SAD.
Synthetic example — No API call
{
  "credentialID": "DEMO-CREDENTIAL",
  "numSignatures": 1,
  "documentDigests": {
    "hashes": [
      "ypeBEsobvcr6wjGzmiPcTaeG7/gUfE5yuYB3ha/uSLs="
    ],
    "hashAlgorithmOID": "2.16.840.1.101.3.4.2.1"
  }
}

Items to confirm: SIC12-VIEW, SIC12-EXPIRES, SIC12-SAD

POST/v2/signatures/signHash

Sign digests with valid authorization

Source documented · Deployment contract unconfirmed · Sandbox not tested

Source: Trusted SIC 1.7.261001 (Compact document) · PDF 24 · selected-fields

Prerequisites: Agree deployment scope, authentication and permissions with Mobile-ID. Keep tokens and signing data on the backend; do not execute from this demo page.

Source authentication: Bearer

Input — Documented fields

Content-Type: application/json

Fields edited from the source
FieldTypePresenceMeaning and limits
credentialIDstringRequiredCredential identifier; keep distinct from a certificate and a transaction.
SADstringRequiredSignature Activation Data obtained after authorization; keep on the backend.
hashesarrayRequiredBase64 digests to sign; must match authorized input.
hashAlgorithmOIDstringRequiredDigest algorithm OID.
signAlgostringRequiredSigning algorithm identifier required by the table but missing in the source example.
operationModestring · A, SOptionalSign table: A asynchronous / S synchronous; distinguish issue mapping.
validityUeriodintegerOptionalSource spelling, validity in milliseconds. Do not silently rename.
responseUristringOptionalCallback URI described by the signing operation.

HTTP default

Fields edited from the source
FieldTypePresenceMeaning and limits
signaturesarrayConditionalSignature data; assembling a document is a separate step.
responseIDstringConditionalAsynchronous response identifier; not interchangeable with requestID.

Items to confirm: SIC12-SIGNALGO, SIC12-SPELLING, SIC12-POLLING

POST/v2/owner/management

Open owner management

Source documented · Deployment contract unconfirmed · Sandbox not tested

Source: Trusted SIC 1.7.261001 (Compact document) · PDF 26 · selected-fields

Prerequisites: Agree deployment scope, authentication and permissions with Mobile-ID. Keep tokens and signing data on the backend; do not execute from this demo page.

Source authentication: Bearer

Input — Documented fields

Content-Type: application/json

Fields edited from the source
FieldTypePresenceMeaning and limits
usernamestringOptionalUsername for the management session.
viewobjectOptional
view.langstring · VI, ENOptionalUI language.
view.expiresInintegerOptionalUnit is unresolved in the source; do not infer a duration.
view.callbackUrlstringOptionalBackend result callback URL.
view.redirectUrlstringOptionalBrowser redirect URL; not proof of completion.
view.fontSizestringOptionalView font size.
view.templateUiIdstringOptionalUI template identifier.

HTTP 200

Fields edited from the source
FieldTypePresenceMeaning and limits
tokenstringRequiredManagement view token.
expires_inintegerRequiredToken expiry value.

Items to confirm: SIC12-VIEW, SIC12-EXPIRES

Catalog and coverage

All 8 REST operations, partial field schemas; 3 views, 3 redirects and 4 callbacks documented separately.

Operations in the Specification
MethodPathCoveragePDF
POST/v2/auth/loginselected-fields6
POST/v2/auth/revokeselected-fields8
POST/v2/credentials/issueselected-fields9
POST/v2/credentials/listselected-fields13
POST/v2/credentials/infoselected-fields18
POST/v2/credentials/authorizeselected-fields22
POST/v2/signatures/signHashselected-fields24
POST/v2/owner/managementselected-fields26

Views, redirects and callbacks

Result channels
ChannelMeaningSource
GET /view/authorize/{token}Authorization viewSIC §2.2.1
GET /view/manage/{token}Management viewSIC §2.2.2
GET /view/certificate/{token}Certificate viewSIC §2.2.3
Redirect result={base64}3 types: Authorization, management, issuance. Base64 encoding does not authenticate the sender.SIC §4
Callback → backend4 types: Authorization, management, issuance, signing. Reconcile fields and states per type.SIC §5

Authenticate callback origin under the agreed contract, persist before acknowledgement, deduplicate and reconcile missing/out-of-order delivery. A browser redirect is not proof of completed signing. Compact does not justify inventing a signature header, retry schedule or polling endpoint.

Items to settle before integration

SIC12-MODE · SIC §3.1.3 và §3.1.7

Issue S/A mapping contradicts signHash and issue response tables.

Do not prescribe a production mode.

SIC12-NAMESPACE · SIC §3.1.4

/v2 catalog differs from /csc/v2 examples.

Retain catalog paths with an issue; confirm base URL.

SIC12-SIGNALGO · SIC §3.1.7

SignAlgo is mandatory but absent in the example.

Do not publish a fabricated complete signHash fixture.

SIC12-SAD · SIC §3.1.7, §4.1, §5.1

SAD is expanded with two terms.

Keep SAD identifier; settle its definition.

SIC12-EXPIRES · SIC view parameters, callbacks

ExpiresIn units conflict; examples also use expires_in.

Do not rename fields or infer expiry duration.

SIC12-MULTISIGN · SIC §3.1.5

Multisign is String in the table and numeric in examples.

Schema retains table type and the issue.

SIC12-SPELLING · SIC §3.1.7

Source uses validityUeriod.

Retain source identifier; do not silently correct API spelling.

SIC12-VIEW · SIC §3.1.6 và sơ đồ Viewer

202 authorize describes token; flow has token and viewURL.

Token is not SAD; confirm the UI URL.

SIC12-POLLING · SIC Compact, lịch sử V11

Compact does not describe polling/history/providers/packages.

Keep older docs separately; absence does not mean removal.

SIC12-CALLBACK · SIC §§4–5

Callbacks have inconsistent JSON, field names and code/status.

Do not publish invalid source payloads as runnable examples.

SIC12-LOGIN · SIC §3.1.1

RememberMe table/example types differ; refresh/Basic selection is unclear.

Restrict schema and omit a complete auth fixture.

Compare with Viewer actions

Watch the appropriate route, read outcomes and omissions, then consult the operation. Videos do not replace contracts or validation reports.

Watch seven Viewer/VNeID recordings

Application authentication and tracing

§3.1.1, PDF 6–7 describes Basic login, access_token for subsequent requests, response x-billcode-id and expires_in in seconds. Basic/refresh_token alternatives and rememberMe typing remain subject to source inconsistencies.

Application credentials are handled on the backend; application login is not signing consent or SAD.

Search Mobile-ID Sign

Local search inside the offline package.