Skip to main content
The furnish mutation writes an identity and the records attached to it in one call. You describe the consumer to find, and everything to add under them; SOLO matches what already exists and creates the rest. It’s the GraphQL equivalent of POST /v1/products/kyc_certificate_snapshot/furnish, but it reaches every model in the graph, not only the ones a product uses. Your organization needs the furnisher or governor role in the network you furnish into.

Furnish a consumer with nested records

This mutation furnishes Maria Alvarez with a captured driver’s license, a device ID confirmed in a fraud attempt, her home address with its capture event, and her email address:
Variables
Response

How matching works

  • where finds, create makes. The consumer is looked up on the fields in where. If nothing matches, it’s created from where plus create.
  • SSN and date of birth match across networks. A where with both socialSecurityNumber and dateOfBirth finds the consumer wherever they were furnished, so the same person is one consumer across the network. Other where fields only match rows you can already read.
  • Matched rows are never modified. If Maria already exists, her name stays as it was and the nested records are added to her.
  • Events are always created; identities are upserted. Nested events, such as documentCaptureEvents, take create and are always added. Nested identities, such as addressIdentities and emailIdentities, take upsert and are matched on their own where first. An upsert with an empty create adds the identity only if it doesn’t exist.
  • Furnishing isn’t idempotent for events. Sending the same mutation twice matches the same consumer, address and email, but adds the events again.
Every record created is attested as furnished by your organization: a certificate that uses it reports your organization as its furnishing_entity_id.

Businesses

furnish { businessIdentity(networkId:, input:) } works the same way for businesses. A where with both federalEin and businessJurisdictionOfFormation matches across networks:
Variables

Querying with GraphQL

Read back what you furnished.

How furnishing works

The REST, file and SFTP furnishing channels.