Skip to main content
PATCH
Update User Service

Endpoint

Overview

Updates or creates a service entitlement for a specific user. Requires admin access via DROP service accessFlags or INTERNAL_SECRET.

Request

string
required
User ID to update
ServiceIdentifier
required
Service identifier: DROP, MAILS, VAULT, or DB
string
Access tier (e.g., “free”, “premium”, “enterprise”)
boolean
Premium access flag
object
Custom access flags (JSON object)
object
Service-specific metadata (JSON object)
number
Custom storage limit in bytes
number
Custom API key limit

Response

object
Updated or created service entitlement

Authentication

Admin Access via DROP Service

User must have DROP service entitlement with:
  • accessFlags.isNullDropTeam: true
  • accessFlags.nullDropTeamRole: "founder" or "dev"

Internal Secret

Alternatively, use x-internal-secret header with INTERNAL_SECRET value.

Implementation Details

Code Reference

Status Codes

OK
Success
Bad Request
Validation error
Unauthorized
Missing or invalid authentication
Forbidden
Admin access required
Not Found
User not found

Example Request

Example Response

Audit Events

  • SERVICE_ACCESS_GRANT: Service entitlement updated (only if authenticated via Bearer token, not internal secret)

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

userId
string
required

Body

application/json
service
enum<string>
required
Available options:
DROP,
MAILS,
VAULT,
DB
tier
string
isPremium
boolean
accessFlags
object
metadata
object
customStorageLimit
integer
customApiKeyLimit
integer

Response

200 - application/json

Entitlement updated

id
string
userId
string
service
enum<string>
Available options:
DROP,
MAILS,
VAULT,
DB
tier
string
Example:

"premium"

isPremium
boolean
accessFlags
object
metadata
object
customStorageLimit
integer | null
customApiKeyLimit
integer | null
createdAt
string<date-time>
updatedAt
string<date-time>