Skip to main content
Version 3.0 of the SW Combine SDK introduces two breaking changes. The first affects every list() call in your codebase: return types changed from raw arrays (or bespoke wrapper objects) to a unified Page<T> class. The second is a transparent internal change to how access tokens are transmitted. This guide walks through each change with before-and-after code so you can update your project quickly.
TypeScript will catch the Page<T> change for you. After upgrading, run tsc — the compiler flags every call site where the return type changed. The fix is almost always adding .data to access the array.

Overview of breaking changes


Updating list() calls

Array-based endpoints

Most endpoints — inventory, galaxy, events, market, datacards, character messages, credit logs, faction members, budgets, stockholders — previously returned plain arrays.

Faction list

The faction.list() endpoint previously returned a FactionListResponse wrapper with a .faction array and a .attributes metadata object.

News list

The news GNS and SimNews list endpoints previously returned arrays with a .attributes metadata attachment.

Replacing listRaw()

The listRaw() method existed on galaxy and types resources as a way to access pagination metadata alongside the items. It is no longer needed — list() returns a Page<T> that includes both.

Replacing listAll()

FactionResource.listAll() has been removed. Use for await...of on any Page<T> to iterate through all pages automatically:
This pattern works on every list() endpoint, not just factions.

Page<T> quick-reference

The table below maps every v2 access pattern to its v3 equivalent:

New capabilities in v3

Page<T> adds features that were not available in v2:

Removed types

If you import any of the following types, replace them with Page<T> and update your access patterns. Import Page from swcombine-sdk:

Authorization header change

Access tokens are now sent in the Authorization: OAuth {token} HTTP header instead of the ?access_token=... query parameter. No code changes are required — the SDK handles this automatically.
If you have infrastructure (logging pipelines, proxies, reverse proxies) that inspects outgoing request URLs for an access_token query parameter, it will no longer appear there after upgrading to v3.

Unchanged endpoints

The following methods were not paginated lists and are unaffected by the v3 changes:
  • character.skills.list() — still returns CharacterSkills
  • character.privileges.list() — still returns PrivilegesResponse
  • character.permissions.list() — still returns CharacterPermissionsResponse
  • All .get() methods — still return the entity directly