EGP User Account Service
  1. Inventory
EGP User Account Service
  • Overview
  • Invitations
    • Accept an organization invitation
      POST
    • Send an invitation to join an organization
      POST
  • Authentication
    • Login with email/password
      POST
    • Register a new global user
      POST
    • Exchange user token for service token
      POST
    • Get a challenge for Web3 signing
      POST
    • Verify Web3 signature and login
      POST
  • Organizations
    • Create a new organization
      POST
    • Get organization details
      GET
    • Get organization settings
      GET
    • Update organization settings
      PUT
    • List members of an organization
      GET
    • Directly add an existing user to the organization
      POST
    • Remove a member from an organization
      DELETE
    • Get a specific member's details
      GET
    • Update a member's role
      PUT
  • SSO
    • Request Challenge for Web3 SSO (EVM Only)
      POST
    • Initiate Web3 SSO Flow (IdP Start)
      GET
    • Verify SIWE Signature & Issue Token for Web3 SSO (EVM Only)
      POST
  • Applications
    • Delete an application
      DELETE
    • Get application details
      GET
    • Update application details
      PUT
    • List applications within an organization
      GET
    • Create an application within an organization
      POST
  • API Keys
    • Revoke an API key
    • List API keys for an application
    • Generate an API key for an application
  • User Self-Service
    • Get current user's profile
    • Update current user's profile
    • Update current user's password
  • Custom System Data
    • List users with custom system data
    • Get user's custom system data
    • Set/Update user's custom system data
  • Custom Data
    • Get user's custom data
    • Set/Update user's custom data
  • Inventory
    • List inventory items for an application
      GET
    • Create or update an inventory item
      POST
  • Schemas
    • Schemas
      • database.CustomSystemDataRecord
      • handlers.AcceptInviteRequest
      • handlers.AcceptInviteResponse
      • database.CustomSystemDataSummary
      • handlers.AddMemberRequest
      • handlers.CreateApplicationRequest
      • handlers.CreateOrgRequest
      • handlers.LoginRequest
      • handlers.AuditLogListResult
      • handlers.LoginResponse
      • handlers.OrganizationSummary
      • handlers.RecordEventRequest
      • handlers.RegisterRequest
      • handlers.RegisterResponse
      • handlers.SendInviteRequest
      • handlers.UpdateApplicationRequest
      • handlers.UpdateMemberRoleRequest
      • handlers.UpdatePasswordRequest
      • handlers.UpdateUserProfileRequest
      • handlers.TokenExchangeRequest
      • handlers.UserProfileResponse
      • handlers.TokenExchangeResponse
      • models.ApiKey
      • models.ApiKeyCreateRequest
      • models.ApiKeyCreateResponse
      • models.Application
      • models.Invite
      • models.MemberDetails
      • handlers.listCustomSystemDataResponse
      • handlers.listInventoryResponse
      • models.NonceRequest
      • models.NonceResponse
      • handlers.simpleDataResponse
      • models.Organization
      • handlers.ssoWeb3ChallengeRequest
      • models.OrganizationSettings
      • handlers.ssoWeb3ChallengeResponse
      • models.OrganizationUser
      • handlers.ssoWeb3VerifyRequest
      • models.VerifyRequest
      • models.VerifyResponse
      • models.AuditLog
      • problemdetails.ProblemDetail
      • models.InventoryItemDetail
      • models.InventoryItemUpsertRequest
      • models.MetadataVersion
      • models.PaginationInfo
  1. Inventory

Create or update an inventory item

POST
/api/v1/apps/{appId}/inventory
Creates or updates an inventory item for a specific user within an application. Requires Admin/Owner role or API Key with 'inventory:write' permission. Supports setting both user and system metadata. If an item with the same userId and itemName exists, it updates; otherwise, it creates.

Request

Path Params

Body Params application/json

Examples

Responses

🟢200OK
application/json
Inventory item updated successfully
Body

🟢201Created
🟠400Bad Request
🟠401Unauthorized
🟠403Forbidden
🟠404Record Not Found
🔴500Server Error
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://useraccounts.srblabs.io/api/v1/apps//inventory' \
--header 'Content-Type: application/json' \
--data-raw '{
    "itemName": "Sword of Power",
    "itemType": "weapon",
    "systemMetadata": {},
    "userId": "a4e1e3d6-8e1b-4f5a-9e2d-7f1c8a1b9d0e",
    "userMetadata": {}
}'
Response Response Example
200 - Example 1
{
    "applicationId": "string",
    "createdAt": "string",
    "id": "string",
    "itemName": "string",
    "itemType": "string",
    "latestSystemMetadataVersion": 0,
    "latestUserMetadataVersion": 0,
    "retrievedMetadata": {
        "createdAt": "string",
        "data": {},
        "type": "string",
        "version": 0
    },
    "systemMetadata": {},
    "updatedAt": "string",
    "userId": "string",
    "userMetadata": {}
}
Modified at 2025-05-03 01:39:15
Previous
List inventory items for an application
Next
database.CustomSystemDataRecord