Skip to main content
Version: v4

search_response_DidSnippet

A Did hit snippet: the always-present [TG-FCT-6a] core plus the [TG-FCT-6b] field groups selected by the request's snippet projection ([TG-FCT-6c]; default set: service, operator, corporation, endpoints). An unselected group is omitted entirely, never null. Within a returned group, a field with no value MUST be present with value null, not omitted. Implementations MAY surface additional fields.

didsearch_response_DidStringrequired

Possible values: Value must match regular expression ^did:

lastObservedAtTimestring<date-time>required

ISO 8601 / RFC 3339 datetime string in UTC.

Possible values: Value must match regular expression ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?Z$

isTrustExpiredbooleanrequired
trustedbooleanrequired
isCorporationbooleanrequired

true iff the DID is the current did of a Corporation entry. Powers the Corporation badge and the Did.isCorporation filter.

isEcosystembooleanrequired

true iff the DID is the current did of at least one Ecosystem entry (equivalently: the ecosystems group, when requested, is non-empty). Powers the Ecosystem badge and the Did.isEcosystem filter.

service object

[TG-FCT-6b] service group; null when the DID presents no ServiceCredential. Present iff selected (default set).

oneOf

[TG-FCT-6b] service group: the VS-level identity asserted by the ServiceCredential. The group is null (not this object) when the DID presents no ServiceCredential.

patternstringrequired

Architecture pattern (Did.pattern); non-null whenever a ServiceCredential exists.

Possible values: [A, B]

namestringrequired

ServiceCredential.name.

typestringrequired

ServiceCredential.type — the declared VS service category.

descriptionstringrequired

ServiceCredential.description, optionally truncated for card use (truncation ends at a character boundary and is flagged with a trailing …).

logoUristring<uri>required

ServiceCredential.logoUri.

logoDigestSrisearch_response_DigestSrirequired

ServiceCredential.logoDigestSri.

Possible values: Value must match regular expression ^sha(256|384|512)-

property name*any

[TG-FCT-6b] service group: the VS-level identity asserted by the ServiceCredential. The group is null (not this object) when the DID presents no ServiceCredential.

operator object

[TG-FCT-6b] operator group; null when the trust chain is incomplete. Present iff selected (default set).

oneOf

[TG-FCT-6b] operator group: the operative ORG-or-PERSONA identity the VS's trust chain rests on (Pattern A: self; Pattern B: issuer), per the [TG-FCT-3] derivation. The group is null (not this object) when the trust chain is incomplete.

kindstringrequired

Derived facet per [TG-FCT-3].

Possible values: [Organization, Persona]

namestringrequired

Operative OrganizationCredential.name or PersonaCredential.name.

logoUri(string | null)<uri>nullablerequired

Operative OrganizationCredential.logoUri or PersonaCredential.avatarUri; null for a Persona without avatar.

logoDigestSri objectrequired

Paired OrganizationCredential.logoDigestSri or PersonaCredential.avatarDigestSri; null under the same conditions as logoUri.

anyOf
search_response_DigestSri

Possible values: Value must match regular expression ^sha(256|384|512)-

countryCodestringrequired

Operative OrganizationCredential.countryCode or PersonaCredential.controllerCountryCode.

Possible values: Value must match regular expression ^[A-Z]{2}$

registryIdstring | nullnullablerequired

Operative OrganizationCredential.registryId; null when the operator is a Persona.

addressstring | nullnullablerequired

Operative OrganizationCredential.address; null when the operator is a Persona.

property name*any

[TG-FCT-6b] operator group: the operative ORG-or-PERSONA identity the VS's trust chain rests on (Pattern A: self; Pattern B: issuer), per the [TG-FCT-3] derivation. The group is null (not this object) when the trust chain is incomplete.

corporation object

[TG-FCT-6b] corporation group; never null. Present iff selected (default set).

idintegerrequired

Stable uint64 id of the referenced Corporation (Did.corporationId / Ecosystem.corporationId). Never null.

Possible values: >= 0

depositstring | nullnullablerequired

Referenced Corporation.deposit (Coin string); null only while the Corporation record is not yet materialised (bootstrap transient).

slashedEventsinteger | nullnullablerequired

Referenced Corporation.slashedEvents (0 when never slashed); null only while the Corporation record is not yet materialised (bootstrap transient).

Possible values: >= 0

lastSlashedAtTime objectrequired

Referenced Corporation.lastSlashedAtTime; null when never slashed, or while the Corporation record is not yet materialised.

anyOf

ISO 8601 / RFC 3339 datetime string in UTC.

string<date-time>

ISO 8601 / RFC 3339 datetime string in UTC.

Possible values: Value must match regular expression ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?Z$

slashedValuestring | nullnullablerequired

Referenced Corporation.slashedValue (Coin string); null when never slashed, or while the Corporation record is not yet materialised.

property name*any

[TG-FCT-6b] corporation group; never null. Present iff selected (default set).

endpoints object[]

[TG-FCT-6b] endpoints group — the DID's ServiceEndpoint records (the non-LinkedVerifiablePresentation services[] entries of the DID Document); [] when the DID Document declares no such entry. Present iff selected (default set).

  • Array [
  • idsearch_response_DidStringrequired

    DID Document service entry id (DID-relative URL).

    Possible values: Value must match regular expression ^did:

    typestringrequired

    Service type, e.g. did-communication, MCP, A2A, LinkedDomains, VsAgentAdminAPI.

    serviceEndpoint objectrequired

    Endpoint value preserved verbatim per DID-CORE (URI string or object).

    anyOf
    string<uri>
    property name*any

    One declared service endpoint of the DID Document, per [TG-FCT-6b] endpoints.

  • ]
  • ecosystems object[]

    [TG-FCT-6b] ecosystems group — the Ecosystem entries whose current did is this DID; [] when none (non-empty iff isEcosystem). Present iff selected (opt-in).

  • Array [
  • idintegerrequired

    Possible values: >= 0

    archivedbooleanrequired
    participants objectrequired

    Ecosystem.participants — the Ecosystem's global per-role participant counts.

    property name*integer

    Possible values: >= 0

    schemas object[]required

    One entry per member of Ecosystem.credentialSchemaIds[]; [] when the Ecosystem owns no schema.

  • Array [
  • idintegerrequired

    Possible values: >= 0

    titlestring | nullnullablerequired

    title of the loaded CredentialSchema.body; null when the body declares no title.

    archivedbooleanrequired
    participants objectrequired

    CredentialSchema.participants — the schema's per-role participant counts.

    property name*integer

    Possible values: >= 0

    property name*any

    Owned-schema reference: the shared item shape of the Did-surface ecosystems[].schemas and the Ecosystem-surface schemas group.

  • ]
  • property name*any

    One Ecosystem entry whose current did is the hit DID, per [TG-FCT-6b] ecosystems. Archived entries appear with their archived flag — these are references from the hit, not direct Ecosystem-surface hits, so the [TG-FCT-2] gates do not apply to them.

  • ]
  • participations object

    [TG-FCT-6b] participations group — the DID's ACTIVE Participant entries. Present iff selected (opt-in).

    totalintegerrequired

    Count of the DID's ACTIVE Participant entries.

    Possible values: >= 0

    ecosystemCountintegerrequired

    Count of distinct Participant.ecosystemId values among them.

    Possible values: >= 0

    byRole objectrequired

    Map role → count over the same entries; {} when total = 0.

    property name*integer

    Possible values: >= 0

    entries object[]required

    One entry per ACTIVE Participant; [] when total = 0.

  • Array [
  • idintegerrequired

    Stable VPR Participant.id — the G1 traversal anchor.

    Possible values: >= 0

    rolestringrequired

    Participant role per the Participant entity table.

    Possible values: [HOLDER, ISSUER, VERIFIER, ISSUER_GRANTOR, VERIFIER_GRANTOR, ECOSYSTEM]

    credentialSchemaIdintegerrequired

    Possible values: >= 0

    schemaTitlestring | nullnullablerequired

    title of the loaded CredentialSchema.body; null when the body declares no title.

    ecosystemIdintegerrequired

    Possible values: >= 0

    property name*any
  • ]
  • property name*any

    [TG-FCT-6b] participations group — the DID's ACTIVE Participant entries. Present iff selected (opt-in).

    credentials object

    [TG-FCT-6b] credentials group — the non-ECS VTCs presented by the DID. Present iff selected (opt-in).

    totalintegerrequired

    Count of distinct Vtc records presented by the DID.

    Possible values: >= 0

    entries object[]required

    One entry per presented Vtc; [] when total = 0.

  • Array [
  • idstringrequired

    The VTC's credential id (Vtc.id) — the B1 / B2 traversal anchor.

    credentialSchemaIdintegerrequired

    Possible values: >= 0

    schemaTitlestring | nullnullablerequired

    title of the loaded CredentialSchema.body; null when the body declares no title.

    ecosystemIdintegerrequired

    The issuing ecosystem (Vtc.ecosystemId).

    Possible values: >= 0

    attributesobject | nullnullablerequired

    The credential's credentialSubject claims verbatim, minus the subject id (the hit's own DID); null when the implementation has not fetched the VP body per [TG-DEREF-3] (the fetch is RECOMMENDED).

    property name*any
  • ]
  • property name*any

    [TG-FCT-6b] credentials group — the non-ECS VTCs presented by the DID. Present iff selected (opt-in).

    property name*any

    A Did hit snippet: the always-present [TG-FCT-6a] core plus the [TG-FCT-6b] field groups selected by the request's snippet projection ([TG-FCT-6c]; default set: service, operator, corporation, endpoints). An unselected group is omitted entirely, never null. Within a returned group, a field with no value MUST be present with value null, not omitted. Implementations MAY surface additional fields.

    search_response_DidSnippet
    {
    "did": "string",
    "lastObservedAtTime": "2024-07-29T15:51:28.071Z",
    "isTrustExpired": true,
    "trusted": true,
    "isCorporation": true,
    "isEcosystem": true,
    "service": {
    "name": "string",
    "type": "string",
    "description": "string",
    "logoUri": "string",
    "logoDigestSri": "string"
    },
    "operator": {
    "name": "string",
    "logoUri": "string",
    "logoDigestSri": "string",
    "countryCode": "string",
    "registryId": "string",
    "address": "string"
    },
    "corporation": {
    "id": 0,
    "deposit": "string",
    "slashedEvents": 0,
    "lastSlashedAtTime": "2024-07-29T15:51:28.071Z",
    "slashedValue": "string"
    },
    "endpoints": [
    {
    "id": "string",
    "type": "string",
    "serviceEndpoint": "string"
    }
    ],
    "ecosystems": [
    {
    "id": 0,
    "archived": true,
    "participants": {},
    "schemas": [
    {
    "id": 0,
    "title": "string",
    "archived": true,
    "participants": {}
    }
    ]
    }
    ],
    "participations": {
    "total": 0,
    "ecosystemCount": 0,
    "byRole": {},
    "entries": [
    {
    "id": 0,
    "credentialSchemaId": 0,
    "schemaTitle": "string",
    "ecosystemId": 0
    }
    ]
    },
    "credentials": {
    "total": 0,
    "entries": [
    {
    "id": "string",
    "credentialSchemaId": 0,
    "schemaTitle": "string",
    "ecosystemId": 0,
    "attributes": "Unknown Type: object,null"
    }
    ]
    }
    }