---
updatedAt: 2026-02-06T00:24:43.000Z
agentTools:
  projectIndex: https://developer.greendot.com/embedded-finance/llms.txt
---

# Verify a device for a user account

Verifies a device for a user account using device fingerprint, event type, and other metadata.

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "BaaS APIs",
    "description": "Green Dot BaaS Partner API",
    "version": "v1",
    "x-generated-timestamp-utc": "2026-02-05T01:14:54.4774970Z"
  },
  "paths": {
    "/programs/{programCode}/deviceVerification": {
      "post": {
        "tags": [
          "DeviceVerification"
        ],
        "summary": "Verify a device for a user account",
        "description": "Verifies a device for a user account using device fingerprint, event type, and other metadata.",
        "operationId": "DeviceVerification_POST_VerifyDevice",
        "parameters": [
          {
            "name": "X-GD-RequestId",
            "in": "header",
            "description": "A unique request identifier for tracking and logging. Should be a GUID.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "programCode",
            "in": "path",
            "description": "The program code identifying the BaaS program context.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request payload containing device verification details.\r\n\n- <b>EventType</b>: The type of device verification event.\r\n\n- <b>BlackBox</b>: The device fingerprint or black box data.\r\n\n- <b>EndUserIpAddress</b>: The IP address of the end user.\r\n\n- <b>AccountIdentifier</b>: The account identifier (optional).\r\n\n- <b>UserIdentifier</b>: The user identifier (optional).\r\n\n- <b>TransferIdentifier</b>: The transfer identifier (optional).\r\n\n- <b>DeviceSessionToken</b>: The device session token (optional).",
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceVerificationRequest"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceVerificationRequest"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceVerificationRequest"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceVerificationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceVerificationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceVerificationResponse"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceVerificationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceVerificationResponse"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceVerificationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceVerificationResponse"
                }
              }
            }
          },
          "503": {
            "description": "Service Unavailable",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceVerificationResponse"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceVerificationResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "DeviceVerificationDetail": {
        "required": [
          "browserType",
          "deviceModel",
          "deviceToken",
          "deviceType"
        ],
        "type": "object",
        "properties": {
          "deviceToken": {
            "type": "string",
            "description": "The token uniquely identifying the device.",
            "nullable": true
          },
          "deviceType": {
            "type": "string",
            "description": "The type of device (e.g., \"Mobile\", \"Desktop\", \"Tablet\").",
            "nullable": true
          },
          "deviceModel": {
            "type": "string",
            "description": "The model of the device (e.g., \"iPhone 13\", \"Galaxy S21\").",
            "nullable": true
          },
          "browserType": {
            "type": "string",
            "description": "The type of browser used on the device (e.g., \"Chrome\", \"Safari\", \"Edge\").",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the details of a device used for verification.\r\nContains device token, type, model, and browser type information.\r\nUsed in device verification requests and responses."
      },
      "DeviceVerificationRequest": {
        "required": [
          "blackBox",
          "endUserIpAddress",
          "eventType"
        ],
        "type": "object",
        "properties": {
          "eventType": {
            "enum": [
              "GuestCheckOut",
              "Enrollment",
              "Login",
              "PreLoginCardActivation"
            ],
            "type": "string",
            "description": "The event type for device verification (e.g., GuestCheckOut, Enrollment, Login, PreLoginCardActivation).\r\nUses Gd.Bos.DataTransfer.Enums.DeviceVerificationEventType to specify the verification scenario."
          },
          "blackBox": {
            "minLength": 1,
            "type": "string",
            "description": "The black box data containing device fingerprint or risk assessment payload."
          },
          "endUserIpAddress": {
            "minLength": 1,
            "type": "string",
            "description": "The IP address of the end user initiating the device verification."
          },
          "accountIdentifier": {
            "type": "string",
            "description": "The unique identifier for the account associated with the device verification.",
            "nullable": true
          },
          "userIdentifier": {
            "type": "string",
            "description": "The unique identifier for the user associated with the device verification.",
            "nullable": true
          },
          "transferIdentifier": {
            "type": "string",
            "description": "The unique identifier for the transfer associated with the device verification, if applicable.",
            "nullable": true
          },
          "deviceSessionToken": {
            "type": "string",
            "description": "The session token for the device, used to correlate device sessions.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a request for device verification.\r\nContains event type, device/session details, user/account identifiers, and context information.\r\nInherits standard request metadata from Gd.Bos.DataTransfer.Request.RequestBase."
      },
      "DeviceVerificationResponse": {
        "type": "object",
        "properties": {
          "deviceVerificationDetail": {
            "$ref": "#/components/schemas/DeviceVerificationDetail"
          },
          "deviceVerificationResult": {
            "$ref": "#/components/schemas/DeviceVerificationResult"
          },
          "deviceVerificationRequestKey": {
            "type": "integer",
            "description": "The unique key identifying the device verification request.",
            "format": "int64",
            "nullable": true
          },
          "responseDetails": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResponseDetail"
            },
            "description": "Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the response returned after verifying a device.\r\nContains device verification details, verification result, and the request key.\r\nInherits standard response metadata from Gd.Bos.DataTransfer.Response.ResponseBase."
      },
      "DeviceVerificationResult": {
        "type": "object",
        "properties": {
          "isVerified": {
            "type": "boolean",
            "description": "Indicates whether the device was successfully verified (true) or not (false)."
          },
          "responseDetailCode": {
            "type": "integer",
            "description": "The response detail code providing additional information about the verification result.",
            "format": "int32",
            "nullable": true
          },
          "responseDetailDescription": {
            "type": "string",
            "description": "A human-readable description of the verification result or error.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the result of a device verification operation.\r\nContains verification status, response detail code, and a human-readable description.\r\nUsed in device verification responses to indicate the outcome and provide additional context."
      },
      "ResponseDetail": {
        "type": "object",
        "properties": {
          "code": {
            "type": "integer",
            "description": "The primary status or error code for the response (e.g., 200 for success, 400 for validation error).",
            "format": "int32"
          },
          "subCode": {
            "type": "integer",
            "description": "An optional subcode providing more granular detail about the response or error.",
            "format": "int32",
            "nullable": true
          },
          "description": {
            "type": "string",
            "description": "A human-readable description of the response, error, or status.",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "A URL linking to documentation or a web page with more information about the response code.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a detailed status or error message for an API response.\r\nContains a code, optional subcode, human-readable description, and a URL for more information.\r\nUsed to provide granular feedback about the outcome of an operation, including success, warnings, or errors."
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "apiKey",
        "description": "bearer token",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "x-readme": {
    "explorer-enabled": false,
    "proxy-enabled": false,
    "samples-languages": [
      "csharp",
      "java",
      "python",
      "node",
      "objectivec"
    ]
  }
}
```