Signup screening

Screen several identifiers from one signup

Checks up to four identifiers as a single billable unit and, when a policy is named, returns one recommended action for the whole signup.

Server-side only. The key spends credits; a key in browser code is a leaked key.

Charging. quote.maximum_credits is stated before the work runs and reserved in full. The actual charge is the standalone cost of the checks that established evidence, capped, and is settled down from the quote. A screening is never more expensive than running the same establishing checks separately, and costs nothing if none established.

Replay. The same Idempotency-Key with the same body returns the stored screening and charges nothing; usage.credits then repeats what that screening originally cost. Any change to the identifiers, country, policy, policy_version or email_verification makes it a different request and is refused with 409.

post/v1/signup

Request

  • Base URL: https://orisift.com
  • URL: https://orisift.com/v1/signup
  • Auth: HTTP bearer

Headers

Idempotency-Keystring

An opaque key of your choosing. A repeat of the same request with the same key replays the original screening and is not charged again. Reusing it for a different request is refused with 409; nothing is reserved and no credit is spent.

Request body

emailstring
phonestring
ipstring
domainstring
countrystring

ISO 3166-1 alpha-2. Applies to phone only; sending it without phone is a 400, because it would otherwise do nothing.

policy'contact_standard'

Ask for a recommended action. Omit it and recommended_action is absent from the response, which is the compatibility guarantee.

policy_versioninteger

Pin a policy version. Omitted means the latest at the time of the request; the integer it resolved to always comes back in the action, so a response never leaves the version ambiguous. A version that does not exist is a 400.

email_verification'fast' | 'deep'

deep is refused with 400 unless a provider is connected. It is never silently downgraded to fast: a caller who asked for mailbox verification and received a format check would believe something about the address that nothing established.

Example request

{
  "email": "someone@stripe.com",
  "phone": "+12125550142",
  "ip": "8.8.8.8",
  "domain": "stripe.com",
  "country": "US"
}

Response

The screening ran. A partial outcome is a success: checks that could not complete are reported in checks[].incomplete with their reason class, and the evidence other checks established is kept.

object'signup_screening' required
api_version'1' required
idstring required
createdstring date-time required

Example response

{
  "id": "sgn_4f36d77ffc89c524",
  "checks": [
    {
      "signals": [
        {
          "source": "National regulator allocations"
        }
      ],
      "coverage_limitations": [
        {
          "code": "no_carrier_provider"
        }
      ],
      "lookup_id": "lk_67e75a1d70e94a06",
      "incomplete": [
        {
          "capability": "plan_validity",
          "code": "country_required"
        }
      ]
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.