Class UserRequest.Builder
- All Implemented Interfaces:
UserRequest._FinalStage,UserRequest.ExternalIdStage
- Enclosing class:
UserRequest
-
Method Summary
Modifier and TypeMethodDescriptionadditionalProperties(Map<String, Object> additionalProperties) additionalProperty(String key, Object value) build()The user's email address.The user's email address.emailVerifiedAttestation(Boolean emailVerifiedAttestation) Your attestation that the invitee's email was verified by your authentication system before this call.emailVerifiedAttestation(Optional<Boolean> emailVerifiedAttestation) Your attestation that the invitee's email was verified by your authentication system before this call.externalId(@NotNull String externalId) Your own unique identifier for this user.externalSubject(String externalSubject) The user's identifier in your own authentication system (for example, a Cognito sub or Auth0 user ID).externalSubject(Optional<String> externalSubject) The user's identifier in your own authentication system (for example, a Cognito sub or Auth0 user ID).from(UserRequest other) inviteToken(String inviteToken) The raw invite token from the invitation email link.inviteToken(Optional<String> inviteToken) The raw invite token from the invitation email link.Arbitrary key-value attributes to store on the user, useful for carrying additional data from your own system.Arbitrary key-value attributes to store on the user, useful for carrying additional data from your own system.Optional ID of a record schema (created via POST /v1/schemas) that drives payload validation and lookup indexing.Optional ID of a record schema (created via POST /v1/schemas) that drives payload validation and lookup indexing.status(UserRequestStatus status) The user's lifecycle status.status(Optional<UserRequestStatus> status) The user's lifecycle status.type(UserRequestType type) The kind of user.type(Optional<UserRequestType> type) The kind of user.
-
Method Details
-
from
- Specified by:
fromin interfaceUserRequest.ExternalIdStage
-
externalId
Your own unique identifier for this user. Drives idempotent upsert: if a user with this
externalIdalready exists, it is returned instead of creating a duplicate.Your own unique identifier for this user. Drives idempotent upsert: if a user with this
externalIdalready exists, it is returned instead of creating a duplicate.- Specified by:
externalIdin interfaceUserRequest.ExternalIdStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
emailVerifiedAttestation
Your attestation that the invitee's email was verified by your authentication system before this call. Must be
trueto activate a pending invitation. Vectros cannot inspect your authentication system, so asserting this accurately is your responsibility.- Specified by:
emailVerifiedAttestationin interfaceUserRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
emailVerifiedAttestation
Your attestation that the invitee's email was verified by your authentication system before this call. Must be
trueto activate a pending invitation. Vectros cannot inspect your authentication system, so asserting this accurately is your responsibility.- Specified by:
emailVerifiedAttestationin interfaceUserRequest._FinalStage
-
externalSubject
The user's identifier in your own authentication system (for example, a Cognito sub or Auth0 user ID). Required to activate a pending invitation; ignored on subsequent updates. Treat it as immutable once the user is activated. This is NOT an authentication binding, and setting it here does not enable sign-in anywhere — not the Vectros DevPortal/Admin App/web apps, and not
/v1/auth/token/exchangeeither. Those are granted only by the invitee authenticating themselves (accepting the emailed invitation link, or redeeminginviteTokendirectly at the token-exchange endpoint with their own credential). It is stored exactly as you send it, with no normalization — it does NOT automatically match or deduplicate against an identity that later authenticates via token exchange, which computes its own internal value from the verified credential rather than reading this field. UseexternalId(above) for your own correlation/bookkeeping needs; treat this field as informational unless you have a specific, verified reason to set it.- Specified by:
externalSubjectin interfaceUserRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
externalSubject
The user's identifier in your own authentication system (for example, a Cognito sub or Auth0 user ID). Required to activate a pending invitation; ignored on subsequent updates. Treat it as immutable once the user is activated. This is NOT an authentication binding, and setting it here does not enable sign-in anywhere — not the Vectros DevPortal/Admin App/web apps, and not
/v1/auth/token/exchangeeither. Those are granted only by the invitee authenticating themselves (accepting the emailed invitation link, or redeeminginviteTokendirectly at the token-exchange endpoint with their own credential). It is stored exactly as you send it, with no normalization — it does NOT automatically match or deduplicate against an identity that later authenticates via token exchange, which computes its own internal value from the verified credential rather than reading this field. UseexternalId(above) for your own correlation/bookkeeping needs; treat this field as informational unless you have a specific, verified reason to set it.- Specified by:
externalSubjectin interfaceUserRequest._FinalStage
-
inviteToken
The raw invite token from the invitation email link. Required to activate a pending invitation (moving the user from PENDING to ACTIVE); ignored otherwise. The token's signature is verified server-side.
- Specified by:
inviteTokenin interfaceUserRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
inviteToken
The raw invite token from the invitation email link. Required to activate a pending invitation (moving the user from PENDING to ACTIVE); ignored otherwise. The token's signature is verified server-side.
- Specified by:
inviteTokenin interfaceUserRequest._FinalStage
-
schemaId
Optional ID of a record schema (created via POST /v1/schemas) that drives payload validation and lookup indexing. When set, the schema must belong to your account, the payload is validated against the schema's fields on save, and the schema's lookup fields become queryable via GET /v1/users (using
type,field, and a lookup mode). When omitted, the payload is free-form and no lookup rows are written.- Specified by:
schemaIdin interfaceUserRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
schemaId
Optional ID of a record schema (created via POST /v1/schemas) that drives payload validation and lookup indexing. When set, the schema must belong to your account, the payload is validated against the schema's fields on save, and the schema's lookup fields become queryable via GET /v1/users (using
type,field, and a lookup mode). When omitted, the payload is free-form and no lookup rows are written.- Specified by:
schemaIdin interfaceUserRequest._FinalStage
-
payload
Arbitrary key-value attributes to store on the user, useful for carrying additional data from your own system.
- Specified by:
payloadin interfaceUserRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
payload
Arbitrary key-value attributes to store on the user, useful for carrying additional data from your own system.
- Specified by:
payloadin interfaceUserRequest._FinalStage
-
type
The kind of user.
HUMAN(the default) is a real person;SERVICEis a bot, agent, scheduled job, or other named integration with no specific person behind it. Service users may omitemail. The type is immutable after creation — to change it, create a new user.- Specified by:
typein interfaceUserRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
type
The kind of user.
HUMAN(the default) is a real person;SERVICEis a bot, agent, scheduled job, or other named integration with no specific person behind it. Service users may omitemail. The type is immutable after creation — to change it, create a new user.- Specified by:
typein interfaceUserRequest._FinalStage
-
status
The user's lifecycle status.
ACTIVEusers can be used normally;SUSPENDEDusers are retained but blocked from new operations.PENDINGis a server-managed state for invitations awaiting acceptance — you cannot set it directly. (A pending user becomesACTIVEby sending status=ACTIVE together withinviteToken,externalSubject, andemailVerifiedAttestation=true.) You may set onlyACTIVEorSUSPENDEDdirectly.- Specified by:
statusin interfaceUserRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
status
The user's lifecycle status.
ACTIVEusers can be used normally;SUSPENDEDusers are retained but blocked from new operations.PENDINGis a server-managed state for invitations awaiting acceptance — you cannot set it directly. (A pending user becomesACTIVEby sending status=ACTIVE together withinviteToken,externalSubject, andemailVerifiedAttestation=true.) You may set onlyACTIVEorSUSPENDEDdirectly.- Specified by:
statusin interfaceUserRequest._FinalStage
-
email
The user's email address. Used for display and notifications only; it is not used for authentication to the Vectros API.
- Specified by:
emailin interfaceUserRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
email
The user's email address. Used for display and notifications only; it is not used for authentication to the Vectros API.
- Specified by:
emailin interfaceUserRequest._FinalStage
-
build
- Specified by:
buildin interfaceUserRequest._FinalStage
-
additionalProperty
- Specified by:
additionalPropertyin interfaceUserRequest._FinalStage
-
additionalProperties
- Specified by:
additionalPropertiesin interfaceUserRequest._FinalStage
-