The following diagram shows the state (status) transition process of a user within an account in the Marketplace Platform. It shows the possible statuses a user can have.
Invited
The user has been invited to join the account but has not accepted the invite yet. This status remains in place until the invitation is accepted.
Invitation expired
The user's invitation has expired because they didn't accept it within 7 days from the send date.
Active
The user has accepted the invitation. They can access the account and perform actions based on their permissions.
Blocked
The user's access has been restricted. This could be due to terms and conditions violations, security concerns, or at the administrator's discretion.
Disabled
The user has been removed from the account and can no longer perform any actions.
Deleted
The user no longer exists in the system.

The User object represents a single user on the Marketplace platform.
This object contains the following attributes:
id
string, core
(Read-only) Primary identifier for the user.
email
string
The email address of the user.
status
string
(Read-only) The user's status. Allowed values are:
New
Invited
Invitation expired
Active
Blocked
Disabled
Deleted.
The Invited or InvitationExpired statuses apply only if the user has not yet joined the account.
name
string, core
The user's full name.
firstName
string
The user's first name.
lastName
string
The user's last name.
phone
object
The country code and phone number.
accounts
object
List of accounts that the user is added to; not returned in the user’s account sub‑collection.
currentAccount
object
The account currently selected by the user.
groups
object
(Read-only) Represents the group object containing all groups that the user belongs to.
Example:
buyers
object
(Read-only) List of all buyers the user can access through their groups. Not defined when the ‘All’ option is selected.
modules
object
(Read-only) List of all modules the user can access through their groups.
settings
object
(Optional) Indicates the user’s preferences, including language and regional settings (legacy).
invitation
object
(Optional) Represents the invitation object. This is included only in the context of an account (within the account sub‑collection) and only when the user has been invited.
invitation.code
string
(Read-only) (Optional) The invitation code sent to user when they are invited to the platform.
invitation.status
string
(Read-only) (Optional) Indicates the user's account invitation status.
audit
object
(Read-only) Represents the audit object.
[
{
"id": "UGR-5116-6265",
"name": "Administrators"
},
{
"id": "UGR-5116-6565",
"name": "Fulfillment Managers"
}
]{
"id": "USR-3773-5838",
"email": "test@testignite.de",
"status": "Active",
"firstName": "d",
"lastName": "d",
"settings": {
"cultureCode": "en-US",
"languageCode": "en-US"
},
"name": "d d",
"account": {
"id": "ACC-0774-6909",
"type": "Client",
"status": "Active",
"name": "Ignite Test CDG"
},
"groups": [
{
"id": "UGR-5240-4954",
"name": "Only Marketplace and Buyer BUY-1089-7077",
"description": "",
"account": {
"id": "ACC-0774-6909",
"type": "Client",
"status": "Active",
"name": "Ignite Test CDG"
},
"logo": "",
"isDefault": false
}
],
"buyers": [
{
"id": "BUY-1089-7077",
"status": "Enabled",
"address": {
"addressLine1": "adress1",
"addressLine2": "adress2",
"postCode": "88131",
"city": "city",
"state": "bavaria",
"country": "DE"
},
"account": {
"id": "ACC-0774-6909",
"type": "Client",
"status": "Active",
"name": "Ignite Test CDG"
},
"name": "testBuyer"
}
],
"modules": [
{
"id": "MOD-0478",
"description": "Buy and manage subscription based licenses.",
"isConfigurable": true,
"isEnabledByDefault": true,
"paid": false,
"name": "Marketplace",
"filters": {
"group.buyers": [
"selected",
"all"
]
},
"settings": {
"sharedAccount": true,
"configurable": true,
"default": true,
"paid": false
}
}
],
"invitation": {
"url": "https://portal.s1.show/accept-invite?code=eyJjb2RlIjoiUzM0dVpsVWNjL0JSRTdpVXFSdFBpN2J4Z3BaY3VXNTFoM2d4WlN6T0xwdz0iLCJhY2NvdW50VXNlcklkIjoiQVVTUi0xMDQwLTg2MzYtNzI2NyJ9",
"status": "Active"
},
"audit": {
"login": {
"at": "2024-05-09T14:40:28.886Z"
},
"access": {
"at": "2024-09-20T14:01:45.603Z"
},
"joined": {
"at": "2024-05-09T14:40:28.886Z"
},
"created": {
"at": "2024-05-09T14:40:28.958Z",
"by": {
"id": "TKN-7670-9957",
"href": "/accounts/api-tokens/TKN-7670-9957",
"name": "[DO NOT REMOVE] PyraProxy"
}
},
"updated": {
"at": "2024-09-16T12:33:03.761Z",
"by": {
"href": "//"
}
}
}
}
{
"id": "USR-3773-5838",
"email": "test@testignite.de",
"status": "Active",
"firstName": "d",
"lastName": "d",
"settings": {
"cultureCode": "en-US",
"languageCode": "en-US"
},
"name": "d d",
"accounts": [
{
"id": "ACC-0774-6909",
"type": "Client",
"status": "Active",
"name": "Ignite Test CDG"
}
],
"currentAccount": {
"id": "ACC-0774-6909",
"type": "Client",
"status": "Active",
"name": "Ignite Test CDG"
},
"audit": {
"login": {
"at": "2024-05-09T14:40:28.886Z"
},
"created": {
"at": "2024-05-09T14:40:28.958Z",
"by": {
"id": "TKN-7670-9957",
"href": "/accounts/api-tokens/TKN-7670-9957",
"name": "[DO NOT REMOVE] PyraProxy"
}
},
"updated": {
"at": "2024-09-16T12:33:03.761Z",
"by": {
"href": "//"
}
}
}
}Blocks a user and prevents access. Returns the updated user object.
User identifier (USR-...) or user email address.
OK
Bad Request
Not Found
POST /public/v1/accounts/users/{uniqueFilter}/block HTTP/1.1
Host: api.platform.softwareone.com
Accept: */*
{
"id": "text",
"audit": {
"created": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"updated": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"invitationAcceptedAt": "2026-01-01T00:00:00.000Z"
},
"$meta": {
"omitted": [
"text"
]
},
"name": "text",
"icon": "text",
"revision": 1,
"email": "text",
"status": "text",
"phone": {
"prefix": "text",
"number": "text"
},
"firstName": "text",
"lastName": "text",
"lastLoginAt": "2026-01-01T00:00:00.000Z",
"settings": {
"cultureCode": "text",
"dateFormat": "text",
"languageCode": "text",
"numberFormat": {
"decimalSeparator": "text",
"groupSeparator": "text"
},
"timeFormat": "text",
"timeZone": "text",
"optOuts": {
"objectTypes": [
"text"
]
}
},
"accounts": [
{
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"type": "Client",
"status": "Active"
}
],
"currentAccount": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"type": "Client",
"status": "Active"
}
}Deprecated - use the /accounts/users/{userId}/sso endpoint instead. Returns an object with boolean isSso property.
User identifier (USR-...) or user email address.
OK
No content
Not Found
GET /public/v1/accounts/users/{uniqueFilter}/sso-check HTTP/1.1
Host: api.platform.softwareone.com
Accept: */*
No content
Update account user. Available for Operations account with platform account management permissions or to the user himself. Accepts a delta payload with fields to update (e.g. email, firstName, lastName, phone, settings). Returns the updated account user object.
Account identifier.
User identifier.
OK
Bad Request
Forbidden
Not Found
PUT /public/v1/accounts/accounts/{accountId}/users/{userId} HTTP/1.1
Host: api.platform.softwareone.com
Content-Type: application/json
Accept: */*
Content-Length: 41
{
"firstName": "Updated",
"lastName": "Name"
}{
"id": "USR-3758-7092",
"revision": 2,
"name": "Updated Name",
"email": "new.user@example.com",
"firstName": "Updated",
"lastName": "Name",
"status": "Active",
"account": {
"id": "ACC-3758-7092",
"name": "Test Account"
},
"groups": [
{
"id": "UGR-3758-7092"
}
]
}Unblocks a user and restores access. Returns the updated user object.
User identifier (USR-...) or user email address.
OK
Bad Request
Not Found
POST /public/v1/accounts/users/{uniqueFilter}/unblock HTTP/1.1
Host: api.platform.softwareone.com
Accept: */*
{
"id": "text",
"audit": {
"created": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"updated": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"invitationAcceptedAt": "2026-01-01T00:00:00.000Z"
},
"$meta": {
"omitted": [
"text"
]
},
"name": "text",
"icon": "text",
"revision": 1,
"email": "text",
"status": "text",
"phone": {
"prefix": "text",
"number": "text"
},
"firstName": "text",
"lastName": "text",
"lastLoginAt": "2026-01-01T00:00:00.000Z",
"settings": {
"cultureCode": "text",
"dateFormat": "text",
"languageCode": "text",
"numberFormat": {
"decimalSeparator": "text",
"groupSeparator": "text"
},
"timeFormat": "text",
"timeZone": "text",
"optOuts": {
"objectTypes": [
"text"
]
}
},
"accounts": [
{
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"type": "Client",
"status": "Active"
}
],
"currentAccount": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"type": "Client",
"status": "Active"
}
}List users. Available for Operations account with platform account management permissions and for Client and Vendor accounts for own users. Returns a paged list of users; supports RQL query parameters for filtering, sorting, and selecting fields. Use the select parameter to limit fields for performance; default response includes audit and basic profile fields.
OK
GET /public/v1/accounts/users HTTP/1.1
Host: api.platform.softwareone.com
Accept: */*
OK
{
"data": [
{
"id": "USR-3758-7092",
"revision": 3,
"name": "John Doe",
"icon": "/v1/accounts/users/USR-3758-7092/icon",
"email": "john.doe@example.com",
"status": "Active",
"firstName": "John",
"lastName": "Doe",
"lastLoginAt": "2026-02-02T10:00:00+00:00",
"settings": {
"cultureCode": "en-US",
"languageCode": "en-US"
},
"currentAccount": {
"id": "ACC-3758-7092",
"type": "Client",
"status": "Active",
"name": "Example Account",
"icon": "/v1/accounts/accounts/ACC-3758-7092/icon"
},
"audit": {
"created": {
"at": "2024-02-02T10:00:00+00:00",
"by": {
"id": "USR-1234-5678",
"name": "John Doe"
}
},
"updated": {
"at": "2026-02-02T10:00:00+00:00",
"by": {
"id": "USR-0000-0022",
"name": "John Smith"
}
}
}
}
],
"$meta": {
"pagination": {
"offset": 0,
"limit": 10,
"total": 1
}
}
}Get user by ID or unique filter. If uniqueFilter is a user ID, returns a full user representation (respecting optional select). Otherwise, resolves a user by the provided unique filter and returns a minimal payload containing id, email, status and audit.invitationAcceptedAt.
User identifier (USR-...) or user email address.
Optional RQL select statement to limit returned fields (only applied when requesting by user ID).
OK
Not Found
GET /public/v1/accounts/users/{uniqueFilter} HTTP/1.1
Host: api.platform.softwareone.com
Accept: */*
{
"id": "USR-3758-7092",
"email": "john.doe@example.com",
"status": "Active",
"audit": {
"invitationAcceptedAt": "2026-02-02T10:00:00+00:00"
}
}Sets a new password for the user. Intended for password-based users; updates are applied immediately. Returns the updated user object.
User identifier (USR-...) or user email address.
OK
Bad Request
Not Found
POST /public/v1/accounts/users/{uniqueFilter}/set-password HTTP/1.1
Host: api.platform.softwareone.com
Content-Type: application/json
Accept: */*
Content-Length: 65
{
"currentPassword": "OldPassword123",
"password": "NewPassword123!"
}{
"id": "text",
"audit": {
"created": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"updated": {
"at": "2026-01-01T00:00:00.000Z",
"by": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1
}
},
"invitationAcceptedAt": "2026-01-01T00:00:00.000Z"
},
"$meta": {
"omitted": [
"text"
]
},
"name": "text",
"icon": "text",
"revision": 1,
"email": "text",
"status": "text",
"phone": {
"prefix": "text",
"number": "text"
},
"firstName": "text",
"lastName": "text",
"lastLoginAt": "2026-01-01T00:00:00.000Z",
"settings": {
"cultureCode": "text",
"dateFormat": "text",
"languageCode": "text",
"numberFormat": {
"decimalSeparator": "text",
"groupSeparator": "text"
},
"timeFormat": "text",
"timeZone": "text",
"optOuts": {
"objectTypes": [
"text"
]
}
},
"accounts": [
{
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"type": "Client",
"status": "Active"
}
],
"currentAccount": {
"id": "text",
"name": "text",
"icon": "text",
"revision": 1,
"type": "Client",
"status": "Active"
}
}