Axis Docs

Menu
Menu

Player Lifecycle

Table of Content

Table of Content

Table of Content

Player Details

The Operator must provide a UserDetails endpoint through which Axis retrieves core player data. The Axis Engagement Engine queries this endpoint whenever specific events occur — such as Registration, User Update, or during data migration processes handled via the Axis AI Migration Portal.

GET /playerdetails/:playerid

An object is a collection of properties, where each property is a key-value pair.

The method must not be cached.

The segmentation object can store custom player data. Notify your Axis integration manager before using it to ensure proper setup.

Axis enforces strict validation on response formats. Please review the required Data Types and the table below carefully to ensure all properties meet specification.

{
  address: "400 Madison Ave, Suite 21B",
  affiliate_reference: "AFF_AXISAI_9821_US",
  birth_date: "1993-07-14",
  city: "New York",
  country: "US",
  currency: "USD",
  deleted_at: null,
  email: "daniel.martin@wager.ai",
  first_name: "Daniel",
  is_blocked: false,
  is_excluded: false,
  language: "en",
  last_name: "Martin",
  market: "us",
  mobile: "9174538912",
  mobile_prefix: "+1",
  origin: "app.wager.ai",
  postal_code: "10017",
  registration_code: "AXIS2025",
  registration_date: "2025-08-22T15:42:31.092Z",
  roles: ["ACTIVE_PLAYER", "BETA_TESTER"],
  sex: "Male",
  title: "Mr",
  user_id: "USR_145982732",
  username: "martin_d92",
  verified_at: "2025-08-22T15:45:18.003Z",

  segmentation: {
    vip_level: 4,
    special_segmentation: "High-Value Sportsbook",
    predicted_ltv: 2480.75,
    risk_tier: "Low",
    preferred_channel: "Push"
  },

  engagement_metrics: {
    avg_session_length_minutes: 14.6,
    bets_last_30_days: 72,
    last_activity: "2025-10-18T22:19:00.004Z",
    total_deposit_usd: 3680.50,
    withdrawals_usd: 1540.00,
    conversion_score: 0.86
  },

  compliance_flags: {
    kyc_verified: true,
    aml_check_passed: true,
    source_of_funds_verified: false
  }
}

Properties can be accessed using dot notation or bracket notation.

Key

Value

Note

address*

"400 Madison Ave, Suite 21B"

Address Unable to send?

affiliate_reference*

"AFF_AXISAI_9821_US"

Cell 2-3

birth_date*



city*



country*



currency*



deleted_at*



email*



first_name*



is_blocked*



language*



market*



mobile*



mobile_prefix*



origin*



origin*



origin*



origin*



origin*



origin*



origin*



console.log(person.name); // Outputs: Alice
console.log(person["age"]); // Outputs: 30

Modifying Object Properties

Properties can be changed or added dynamically.

person.age = 31; // Modify existing property
person.city = "New York"; // Add new property
  
console.log(person);

Deleting Object Properties

The delete keyword removes a property from an object.

delete person.isStudent;
console.log(person);

Checking Property Existence

The in operator checks if a property exists.

console.log("age" in person); // true
console.log("salary" in person); // false

Iterating Over Objects

Objects can be looped through using for...in.

for (let key in person) {
  console.log(key + ": " + person[key]);
}

Adding and Removing Elements

push(value) adds an element to the end.

pop() removes the last element.

unshift(value) adds an element to the beginning.

shift() removes the first element.

fruits.push("Mango");
fruits.pop();
fruits.unshift("Strawberry");
fruits.shift();
  
console.log(fruits);

Nested Objects and Arrays

Objects can contain arrays, and arrays can contain objects.

let student = {
  name: "Emily",
  grades: [90, 85, 88]
};
  
console.log(student.grades[1]); // Outputs: 85
let employees = [
  { name: "Alice", position: "Developer" },
  { name: "Bob", position: "Designer" }
];
  
console.log(employees[0].name); // Outputs: Alice

Conclusion

Objects and arrays are crucial for managing and structuring data in JavaScript. The next section will focus on ES6+ features, which introduce new syntax and functionalities to improve JavaScript development.