diff --git a/Spond.API/Interfaces/ICommonData.cs b/Spond.API/Interfaces/ICommonData.cs
index dd529c3..755f06d 100644
--- a/Spond.API/Interfaces/ICommonData.cs
+++ b/Spond.API/Interfaces/ICommonData.cs
@@ -9,7 +9,12 @@ public interface ICommonData
/// Gets the name of the login token property in the API response.
///
string LoginTokenPropertyName { get; }
-
+
+ ///
+ /// Gets the name of the login token property in the API response if the token is wrapped in an object.
+ ///
+ string NestedLoginTokenPropertyName { get; }
+
///
/// Gets the base URL for the Spond API.
///
diff --git a/Spond.API/Models/CommonData.2.1.cs b/Spond.API/Models/CommonData.2.1.cs
index 03b486d..43cb235 100644
--- a/Spond.API/Models/CommonData.2.1.cs
+++ b/Spond.API/Models/CommonData.2.1.cs
@@ -12,6 +12,8 @@ internal class CommonData_2_1 : ICommonData
///
public string LoginTokenPropertyName => "loginToken";
///
+ public string NestedLoginTokenPropertyName => "token";
+ ///
public string BaseUrl => "https://spond.com/";
///
public string LoginUrl => "/api/2.1/login";
diff --git a/Spond.API/Models/CommonData.Core.V1.cs b/Spond.API/Models/CommonData.Core.V1.cs
index e345dea..666a043 100644
--- a/Spond.API/Models/CommonData.Core.V1.cs
+++ b/Spond.API/Models/CommonData.Core.V1.cs
@@ -10,11 +10,13 @@ namespace Spond.API.Models;
internal class CommonData_Core_V1 : ICommonData
{
///
- public string LoginTokenPropertyName => "loginToken";
+ public string LoginTokenPropertyName => "accessToken";
+ ///
+ public string NestedLoginTokenPropertyName => "token";
///
public string BaseUrl => "https://api.spond.com/";
///
- public string LoginUrl => "core/v1/login";
+ public string LoginUrl => "/core/v1/auth2/login";
///
public string UserUrl => "core/v1/profile";
///
diff --git a/Spond.API/Services/SpondClient.cs b/Spond.API/Services/SpondClient.cs
index d9d5146..1194e1f 100644
--- a/Spond.API/Services/SpondClient.cs
+++ b/Spond.API/Services/SpondClient.cs
@@ -102,6 +102,10 @@ private async Task Login(T loginPayload, Func>? ot
// Happy path: direct login token returned (no 2FA).
if (root.TryGetProperty(_commonData.LoginTokenPropertyName, out var tokenElement))
{
+ if(tokenElement.ValueKind == JsonValueKind.Object)
+ {
+ tokenElement.TryGetProperty(_commonData.NestedLoginTokenPropertyName, out tokenElement);
+ }
var loginToken = tokenElement.GetString();
if (string.IsNullOrEmpty(loginToken))
{