Skip to main content
The official Didit gem for Ruby. It needs Ruby 3.1 or later and uses net/http from the standard library. See the server SDKs overview for what every SDK shares.

Install

The gem is didit-sdk on RubyGems. Its source and changelog are in didit-protocol/sdk-ruby on GitHub. Or add gem "didit-sdk" to your Gemfile and run bundle install. Load it with require "didit".

Configure the client

Didit::Client.new reads DIDIT_API_KEY from the environment. Pass keywords to override it, or to set the organization and application ids that application-scoped calls (cases, networks, regulatory reports) need. Request fields are keyword arguments with the API’s own names; responses are objects with a reader per field, [:field] and to_h.

Create a session

Create a verification session for a workflow and send your user to its URL.

Read the decision

When the user finishes (or when the webhook arrives), read the decision. Every feature result is a list with one entry per workflow node.

Verify a webhook

Pass the raw body, exactly as received, and the request headers. verify raises Didit::WebhookVerificationError for anything that is not a valid, fresh delivery, and returns a typed event otherwise.
In Rails, call handle_webhook(request.raw_post, request.headers). While you rotate the secret, pass both: [new_secret, old_secret]. See Webhooks for the events and the signature scheme.

Screen a transaction

Submit a payment, withdrawal or crypto transfer to transaction monitoring; the response carries its status and risk score.

Verify Authentication tokens

Didit::Authentication checks the access tokens your Authentication issuer signs, in your backend, without calling Didit for each request. It also exchanges codes, refreshes tokens, checks and revokes sessions, and runs step-ups.
Token verification makes the checks in Verify a token on your server, against your application’s issuer and signing keys.

Errors

Lists and files

Server endpoint pages of the API reference have a Ruby sample for their operation, except for the endpoints and fields that no 1.0.1 release has yet, named in the overview.