diff --git a/src/Modrinth.Net/Endpoints/Team/ITeamEndpoint.cs b/src/Modrinth.Net/Endpoints/Team/ITeamEndpoint.cs
index 3059fbb..cebadef 100644
--- a/src/Modrinth.Net/Endpoints/Team/ITeamEndpoint.cs
+++ b/src/Modrinth.Net/Endpoints/Team/ITeamEndpoint.cs
@@ -93,5 +93,5 @@ public interface ITeamEndpoint
///
/// Thrown when the API returns an error or the request fails
Task ModifyMemberAsync(string teamId, string userId, string role, Permissions permissions, int payoutsSplit,
- int ordering, CancellationToken cancellationToken = default);
+ long ordering, CancellationToken cancellationToken = default);
}
\ No newline at end of file
diff --git a/src/Modrinth.Net/Endpoints/Team/TeamEndpoint.cs b/src/Modrinth.Net/Endpoints/Team/TeamEndpoint.cs
index 61992cb..8c98970 100644
--- a/src/Modrinth.Net/Endpoints/Team/TeamEndpoint.cs
+++ b/src/Modrinth.Net/Endpoints/Team/TeamEndpoint.cs
@@ -119,7 +119,7 @@ public async Task TransferOwnershipAsync(string teamId, string userId,
///
public async Task ModifyMemberAsync(string teamId, string userId, string role, Permissions permissions,
int payoutsSplit,
- int ordering, CancellationToken cancellationToken = default)
+ long ordering, CancellationToken cancellationToken = default)
{
using var reqMsg = new HttpRequestMessage();
reqMsg.Method = HttpMethod.Patch;
diff --git a/src/Modrinth.Net/Models/TeamMember.cs b/src/Modrinth.Net/Models/TeamMember.cs
index 645e2e2..f7b6dc1 100644
--- a/src/Modrinth.Net/Models/TeamMember.cs
+++ b/src/Modrinth.Net/Models/TeamMember.cs
@@ -50,5 +50,5 @@ public class TeamMember
///
/// The order of the team member.
///
- public int? Ordering { get; set; }
+ public long? Ordering { get; set; }
}
\ No newline at end of file
diff --git a/test/Modrinth.Net.Test/RequesterTests.cs b/test/Modrinth.Net.Test/RequesterTests.cs
index f52ff63..a4719a3 100644
--- a/test/Modrinth.Net.Test/RequesterTests.cs
+++ b/test/Modrinth.Net.Test/RequesterTests.cs
@@ -215,4 +215,30 @@ public async Task GetJsonAsync_GalleryOrderingHugeInt64_DeserializesSuccessfully
Assert.That(galleries[0].Ordering, Is.EqualTo(expectedOrdering));
}
+
+ [Test]
+ public async Task GetJsonAsync_TeamMemberOrderingAboveInt32Max_DeserializesSuccessfully()
+ {
+ const long expectedOrdering = 6844313514;
+ var json =
+ "[{\"team_id\":\"team_1\",\"user\":{\"username\":\"user\",\"name\":\"User\",\"id\":\"u1\",\"github_id\":null,\"avatar_url\":\"https://example.com/avatar.png\",\"bio\":\"\",\"created\":\"2026-01-01T00:00:00Z\",\"role\":\"developer\"},\"role\":\"Owner\",\"permissions\":null,\"accepted\":true,\"payouts_split\":null,\"ordering\":" +
+ expectedOrdering + "}]";
+
+ var handler = new DelegateMessageHandler((_, _) =>
+ Task.FromResult(new HttpResponseMessage(HttpStatusCode.OK)
+ {
+ Content = new StringContent(json, Encoding.UTF8, "application/json")
+ }));
+
+ using var requester = CreateRequester(handler);
+ var request = new HttpRequestMessage(HttpMethod.Get, "http://test.com");
+
+ var teamMembers = await requester.GetJsonAsync(request);
+
+ using (Assert.EnterMultipleScope())
+ {
+ Assert.That(teamMembers, Has.Length.EqualTo(1));
+ Assert.That(teamMembers[0].Ordering, Is.EqualTo(expectedOrdering));
+ }
+ }
}
\ No newline at end of file