VertexYDocs

Start Here

  • Platform overview
  • Public sandbox
  • Engineer quickstart
  • Analyst introduction
  • Administrator setup
  • Architecture

Integrate

  • Authentication
  • Assess transactions
  • Event ingestion
  • Signing and reliability
  • Submit feedback
  • Retries and idempotency
  • Go-live checklist

Use the Dashboard

  • Overview dashboard
  • Event Explorer
  • Graph Explorer
  • AI Copilot
  • Reviews
  • Policy
  • Threat Intel

Administer

  • Onboarding
  • Developer Settings
  • Team and access
  • Permissions and features
  • Audit Logs
  • Billing and plans

Reference

  • API reference
  • API introduction
  • Objects
  • Event types
  • Risk scores and reasons
  • Errors
  • Glossary
  • Node.js examples
  • Python examples

Updates and Help

  • Changelog
  • v1.0.0 release
  • Troubleshooting
  • Support
Already a customer? Sign in
VertexYDocs
Docs/Start Here
engineer

Engineer Quickstart

Complete one assessment, signed event, and feedback cycle.

Reviewed 2026-08-13Product 1.1

Run this flow from a backend or controlled staging environment. Never put refresh tokens or signing secrets in client code.

You need a provisioned, active workspace; events:assess and feedback:submit; and an event signing secret from Developer Settings.

1. Authenticate#

bash
export VERTEXY_API_BASE_URL="https://api.getvertexy.com/api"

curl -X POST "$VERTEXY_API_BASE_URL/auth/login" \
  -H "Content-Type: application/json" \
  -d '{
    "companyId": "a1b2c3d4-e5f6-4789-abcd-ef1234567890",
    "email": "risk-admin@example.com",
    "password": "Sup3rSecurePass!"
  }'

Store the returned tokens server-side. Protected endpoints return 402 until the subscription is active. See Authentication for refresh and logout.

2. Assess#

bash
curl -X POST "$VERTEXY_API_BASE_URL/risk-engine/assess" \
  -H "Authorization: Bearer $VERTEXY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "transactionId": "ord_10492",
    "userId": "usr_8f7b2c9a4d",
    "ipAddress": "203.0.113.42",
    "deviceFingerprint": "dev_iphone_15_7ac9",
    "paymentMethodHash": "pmh_visa_44e9",
    "amountMinor": 12999,
    "currency": "USD"
  }'

Persist the returned assessmentId, action, score, and reason codes.

3. Send a signed event#

javascript
import crypto from "node:crypto";

const payload = {
  companyId: process.env.VERTEXY_COMPANY_ID,
  eventSource: "checkout-service",
  externalEventId: "evt_payment_10492",
  idempotencyKey: "evt_payment_10492",
  userId: "usr_8f7b2c9a4d",
  eventType: "payment_succeeded",
  timestamp: new Date().toISOString(),
  metadata: { orderId: "ord_10492" },
};
const body = JSON.stringify(payload);
const signature = crypto.createHmac("sha256", process.env.VERTEXY_WEBHOOK_SECRET).update(body).digest("hex");

await fetch(`${process.env.VERTEXY_API_BASE_URL}/events/ingest`, {
  method: "POST",
  headers: {
    "content-type": "application/json",
    "x-event-signature": signature,
    "x-event-timestamp": String(Math.floor(Date.now() / 1000)),
    "x-event-nonce": crypto.randomUUID(),
  },
  body,
});

4. Submit the outcome#

bash
curl -X POST "$VERTEXY_API_BASE_URL/risk-engine/feedback" \
  -H "Authorization: Bearer $VERTEXY_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "assessmentId": "c8acf6d5-8bf4-4b80-a7e5-1b33583c1c23",
    "idempotencyKey": "feedback_ord_10492",
    "outcome": "approved",
    "occurredAt": "2026-06-21T10:35:00.000Z"
  }'

Success means each call returns 2xx, the assessment has an assessmentId, event ingestion reports accepted, and feedback returns { "accepted": true }. Before production, complete the go-live checklist.

Was this page helpful?

Previous← Public sandboxNextAnalyst introduction →

On this page

1. Authenticate2. Assess3. Send a signed event4. Submit the outcome