This endpoint is used to request a recommendation when a customer or supplier attempts to register for a new account. Ravelin will recommend whether you should allow the user to register. This endpoint is also used to notify Ravelin about the outcome of registration attempts.

See our Account Registration Abuse guide for how to integrate with this endpoint.

To request a recommendation at this endpoint use the Account Registration checkpoint.

Jump to Response

POST /v2/registration

Show all
timestamp integer required

Time at which the user requested the registration. A Unix timestamp preferably as an integer count of milliseconds since 1970-01-01T00:00 UTC (nanoseconds are also accepted).

registration object required

The details of the user who is registering. If a customer is registering provide additional details in the customer field. If a supplier is registering provide additional details in the supplier field.

Show definition
customer object optional

The customer trying to register.

Show definition
supplier object optional

The supplier trying to register.

Show definition
device object optional

The device used by the customer to trigger this update.

Show definition
Authorization: token ...
Content-Type: application/json

    "timestamp": 1512828988826,
    "registration": {
        "app": {
            "name": "Our App Lite",
            "platform": "web",
            "domain": ""
        "username": "",
        "registrationMechanism": {
            "password": {
                "passwordHashed": "ef92b778bafe771e89245b89ecbc08a44a4e166c06659911881f383d4473e94f",
                "success": false,
                "failureReason": "PASSWORD_TOO_SIMPLE"
        "guestAccount": false,
        "marketingEmailsEnabled": false,
        "success": false
    "supplier": {
        "supplierId": "abc-123-ZYZ",
        "name": "John Smith",
        "groupId": "abc-123",
        "groupName": "Burger Chain",
        "email": "",
        "emailVerifiedTime": 1512828988826,
        "telephone": "+16045555555",
        "telephoneVerifiedTime": 1512828988826,
        "telephoneCountry": "GBR",
        "type": "driver",
        "level": "gold",
        "employmentType": "selfEmployed",
        "transportType": "car",
        "category": "private-hire",
        "tags": {
            "foo": true,
            "bar": false
    "device": {
        "deviceId": "65fc5ac0-2ba3-4a3b-aa5e-f5a77b845260",
        "ipAddress": "",
        "language": "en-US",
        "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36",
        "model": "Pixel XL",
        "os": "android",
        "type": "phone",
        "manufacturer": "google",
        "location": {
            "country": "GBR",
            "postalCode": "E1 1AA",
            "latitude": 51.503252,
            "longitude": -0.127899,
            "addresseeName": "John Smith",
            "street1": "123 fake st.",
            "street2": "floor 4, flat 48",
            "neighbourhood": "Hackney",
            "zone": "1",
            "city": "London",
            "region": "California",
            "poBoxNumber": "1234"


Show all
status integer

The HTTP response status code.

timestamp integer

A Unix timestamp indicating when we finished handling the request.

message string

If an error has occurred, a description of the error.

data object

Contains our recommendations and related details.

Show definition

Contains details about whether the credentials have been found in our breached credentials database.

Show definition
  "status": 200,
  "timestamp": 1512828998826,
  "data": {
    "action": "PREVENT",
    "source": "RULE",
    "supplierId": "abc-123-ZYZ",
    "registrationId": "ewq-234-dfg",
    "rules": {
      "passiveAction": "PREVENT",
      "triggered": [
          "ruleId": 123,
          "ruleVersion": 1,
          "state": "active",
          "action": "PREVENT",
          "description": "Registration email is from a disposable email provider is equal to true."