Skip to main content
POST
/
api
/
v1
/
mpc
/
users
/
update
{
  "update-shares": [
    "{\"user-token-share\":\"a1b2c3d4e5f6\",\"consent-attributes\":[[\"add\",\"pseudonym\",\"left\"],[\"add\",\"payments\",\"right\"]],\"consent-vendors\":[[\"add\",\"vendor1\"],[\"add\",\"vendor2\"]],\"attributes-shares\":{\"email\":\"a1b2c3d4e5f6\"}}",
    "{\"user-token-share\":\"share2\",\"consent-attributes\":null,\"consent-vendors\":null,\"attributes-shares\":null}"
  ]
}
{
  "type": "job-status",
  "job-id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "created"
}

Overview

Updates existing user data in the BOOP Network by submitting encrypted shares for multi-party computation. This endpoint allows updating consent settings, vendor permissions, and user attributes.
This endpoint requires encrypted MPC shares and is typically called by authorized services, not directly by vendors.

Request

update-shares
array
required
Array of update shares for MPC computation. Each share is a serialized JSON string containing user-token-share and optional consent/attribute updates.

Response

type
string
required
Will be “job-status” for async operations
job-id
string
required
Unique identifier for tracking the update job
status
string
required
Current status: “created”, “processing”, “completed”, or “failed”
{
  "update-shares": [
    "{\"user-token-share\":\"a1b2c3d4e5f6\",\"consent-attributes\":[[\"add\",\"pseudonym\",\"left\"],[\"add\",\"payments\",\"right\"]],\"consent-vendors\":[[\"add\",\"vendor1\"],[\"add\",\"vendor2\"]],\"attributes-shares\":{\"email\":\"a1b2c3d4e5f6\"}}",
    "{\"user-token-share\":\"share2\",\"consent-attributes\":null,\"consent-vendors\":null,\"attributes-shares\":null}"
  ]
}
{
  "type": "job-status",
  "job-id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "created"
}

Job Status Polling

After updating user data, poll the job status endpoint:
GET /api/v1/mpc/jobs/{job-id}

Security Considerations

  • All shares must be properly encrypted before transmission
  • Each share should be sent to a different MPC node
  • Never send raw user data to this endpoint
  • Use TLS for all API communications

Rate Limits

  • 50 user updates per minute per API key
  • 500 user updates per hour per API key