Class SchemaRequest.Builder
- All Implemented Interfaces:
SchemaRequest._FinalStage,SchemaRequest.DisplayNameStage,SchemaRequest.TypeNameStage
- Enclosing class:
SchemaRequest
-
Method Summary
Modifier and TypeMethodDescriptionWhether this schema is active.Whether this schema is active.addAllAllowedSurfaces(List<SchemaRequestAllowedSurfacesItem> allowedSurfaces) Which typed surfaces may bind this schema by its id:record,document,user, orentity.addAllowedSurfaces(SchemaRequestAllowedSurfacesItem allowedSurfaces) Which typed surfaces may bind this schema by its id:record,document,user, orentity.additionalProperties(Map<String, Object> additionalProperties) additionalProperty(String key, Object value) allowedSurfaces(List<SchemaRequestAllowedSurfacesItem> allowedSurfaces) Which typed surfaces may bind this schema by its id:record,document,user, orentity.The id of an existing schema this one is a CUSTOMIZATION of, when a schema namedtypeNamealready exists in this context — required in that case (a same-named schema without it is rejected: "specify basedOn"), and must be omitted when this create is the FIRST schema under that name (it becomes that name's shared base, and must be created with nouserId/scopes— a root/unscoped credential).The id of an existing schema this one is a CUSTOMIZATION of, when a schema namedtypeNamealready exists in this context — required in that case (a same-named schema without it is rejected: "specify basedOn"), and must be omitted when this create is the FIRST schema under that name (it becomes that name's shared base, and must be created with nouserId/scopes— a root/unscoped credential).build()capabilities(Map<String, Boolean> capabilities) Feature flags for this schema.capabilities(Optional<Map<String, Boolean>> capabilities) Feature flags for this schema.description(String description) Optional description of what this schema is for.description(Optional<String> description) Optional description of what this schema is for.displayName(@NotNull String displayName) Human-readable display name for this type, shown in UIs.Field definitions used to validate record payloads.Field definitions used to validate record payloads.from(SchemaRequest other) indexMode(SchemaRequestIndexMode indexMode) Default search-index mode for instances of this type — applies to records of this type and to documents bound to this schema, unless the individual record or document sets its own indexMode.indexMode(Optional<SchemaRequestIndexMode> indexMode) Default search-index mode for instances of this type — applies to records of this type and to documents bound to this schema, unless the individual record or document sets its own indexMode.lookupFields(List<LookupDef> lookupFields) Payload fields to index for direct lookup queries.lookupFields(Optional<List<LookupDef>> lookupFields) Payload fields to index for direct lookup queries.renderHints(Map<String, RenderHintDef> renderHints) UI rendering hints keyed by field id.renderHints(Optional<Map<String, RenderHintDef>> renderHints) UI rendering hints keyed by field id.The schema's scope ownership, asnamespace:valueentries (at most 2 namespaces) — for example["org:6ba7b810-9dad-11d1-80b4-00c04fd430c8", "group:eng-team"].The schema's scope ownership, asnamespace:valueentries (at most 2 namespaces) — for example["org:6ba7b810-9dad-11d1-80b4-00c04fd430c8", "group:eng-team"].storageProfile(SchemaRequestStorageProfile storageProfile) Where this type's payload is stored.storageProfile(Optional<SchemaRequestStorageProfile> storageProfile) Where this type's payload is stored.Unique type identifier for this schema.Owning user — the Vectros-assigned UUID of a user in your account.Owning user — the Vectros-assigned UUID of a user in your account.
-
Method Details
-
from
- Specified by:
fromin interfaceSchemaRequest.TypeNameStage
-
typeName
Unique type identifier for this schema. Immutable after creation.
Unique type identifier for this schema. Immutable after creation.
- Specified by:
typeNamein interfaceSchemaRequest.TypeNameStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
displayName
Human-readable display name for this type, shown in UIs.
Human-readable display name for this type, shown in UIs.
- Specified by:
displayNamein interfaceSchemaRequest.DisplayNameStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
basedOn
The id of an existing schema this one is a CUSTOMIZATION of, when a schema named
typeNamealready exists in this context — required in that case (a same-named schema without it is rejected: "specify basedOn"), and must be omitted when this create is the FIRST schema under that name (it becomes that name's shared base, and must be created with nouserId/scopes— a root/unscoped credential). Must point directly at the base (one hop); a variant of a variant is not yet supported. Immutable once set. Every same-named schema in a context is provably related through this chain — see the recordType-shadowing design doc.- Specified by:
basedOnin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
basedOn
The id of an existing schema this one is a CUSTOMIZATION of, when a schema named
typeNamealready exists in this context — required in that case (a same-named schema without it is rejected: "specify basedOn"), and must be omitted when this create is the FIRST schema under that name (it becomes that name's shared base, and must be created with nouserId/scopes— a root/unscoped credential). Must point directly at the base (one hop); a variant of a variant is not yet supported. Immutable once set. Every same-named schema in a context is provably related through this chain — see the recordType-shadowing design doc.- Specified by:
basedOnin interfaceSchemaRequest._FinalStage
-
scopes
The schema's scope ownership, as
namespace:valueentries (at most 2 namespaces) — for example["org:6ba7b810-9dad-11d1-80b4-00c04fd430c8", "group:eng-team"].organdclientare built-in namespaces; others are custom scopes you define (lowercase, 2-32 chars). Resolve a namespace's UUID from your own identifier withGET /v1/entities/{namespace}?externalId=. Optional — omit for an account-wide shared schema. When supplied, this is the schema's COMPLETE scope declaration: for a token that stamps identity, entries must match the token's identity values. On update, omit to leave ownership unchanged, or supply the complete new selection ([]clears it). Filter lists by these values with?scope=.- Specified by:
scopesin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
scopes
The schema's scope ownership, as
namespace:valueentries (at most 2 namespaces) — for example["org:6ba7b810-9dad-11d1-80b4-00c04fd430c8", "group:eng-team"].organdclientare built-in namespaces; others are custom scopes you define (lowercase, 2-32 chars). Resolve a namespace's UUID from your own identifier withGET /v1/entities/{namespace}?externalId=. Optional — omit for an account-wide shared schema. When supplied, this is the schema's COMPLETE scope declaration: for a token that stamps identity, entries must match the token's identity values. On update, omit to leave ownership unchanged, or supply the complete new selection ([]clears it). Filter lists by these values with?scope=.- Specified by:
scopesin interfaceSchemaRequest._FinalStage
-
userId
Owning user — the Vectros-assigned UUID of a user in your account. Optional; omit to create an account-wide shared schema. With an API key, this sets the schema's owner explicitly. With a scoped token, the user must match the token's identity claim (if set) or fall within the token's data scope.
- Specified by:
userIdin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
userId
Owning user — the Vectros-assigned UUID of a user in your account. Optional; omit to create an account-wide shared schema. With an API key, this sets the schema's owner explicitly. With a scoped token, the user must match the token's identity claim (if set) or fall within the token's data scope.
- Specified by:
userIdin interfaceSchemaRequest._FinalStage
-
active
Whether this schema is active. An inactive schema rejects creation of new records of its type.
- Specified by:
activein interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
active
Whether this schema is active. An inactive schema rejects creation of new records of its type.
- Specified by:
activein interfaceSchemaRequest._FinalStage
-
addAllAllowedSurfaces
public SchemaRequest._FinalStage addAllAllowedSurfaces(List<SchemaRequestAllowedSurfacesItem> allowedSurfaces) Which typed surfaces may bind this schema by its id:
record,document,user, orentity. Required and must be non-empty. Identity entities in ANY namespace —org,client, or one you registered, such asteam— bind under the singleentitysurface; use the schema'stypeNameto distinguish them, not the surface. A schema may list several surfaces (for a shared type usable on both records and documents). This drives surface-scoped schema listing (GET /v1/schemas?surface=) and is enforced at bind time — for example, a document cannot bind a record-only schema.- Specified by:
addAllAllowedSurfacesin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
addAllowedSurfaces
public SchemaRequest._FinalStage addAllowedSurfaces(SchemaRequestAllowedSurfacesItem allowedSurfaces) Which typed surfaces may bind this schema by its id:
record,document,user, orentity. Required and must be non-empty. Identity entities in ANY namespace —org,client, or one you registered, such asteam— bind under the singleentitysurface; use the schema'stypeNameto distinguish them, not the surface. A schema may list several surfaces (for a shared type usable on both records and documents). This drives surface-scoped schema listing (GET /v1/schemas?surface=) and is enforced at bind time — for example, a document cannot bind a record-only schema.- Specified by:
addAllowedSurfacesin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
allowedSurfaces
public SchemaRequest._FinalStage allowedSurfaces(List<SchemaRequestAllowedSurfacesItem> allowedSurfaces) Which typed surfaces may bind this schema by its id:
record,document,user, orentity. Required and must be non-empty. Identity entities in ANY namespace —org,client, or one you registered, such asteam— bind under the singleentitysurface; use the schema'stypeNameto distinguish them, not the surface. A schema may list several surfaces (for a shared type usable on both records and documents). This drives surface-scoped schema listing (GET /v1/schemas?surface=) and is enforced at bind time — for example, a document cannot bind a record-only schema.- Specified by:
allowedSurfacesin interfaceSchemaRequest._FinalStage
-
storageProfile
Where this type's payload is stored. STANDARD (default): payloads of 4 KB or larger are externalized to S3, smaller ones are stored inline. LOW_LATENCY: always store inline for the lowest read latency. LARGE_PAYLOAD: always externalize to S3, which lifts the 400 KB item-size ceiling. For externalized types, list and lookup responses return only the indexed projection unless you pass
includePayload=true.- Specified by:
storageProfilein interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
storageProfile
public SchemaRequest._FinalStage storageProfile(Optional<SchemaRequestStorageProfile> storageProfile) Where this type's payload is stored. STANDARD (default): payloads of 4 KB or larger are externalized to S3, smaller ones are stored inline. LOW_LATENCY: always store inline for the lowest read latency. LARGE_PAYLOAD: always externalize to S3, which lifts the 400 KB item-size ceiling. For externalized types, list and lookup responses return only the indexed projection unless you pass
includePayload=true.- Specified by:
storageProfilein interfaceSchemaRequest._FinalStage
-
indexMode
Default search-index mode for instances of this type — applies to records of this type and to documents bound to this schema, unless the individual record or document sets its own indexMode. HYBRID, SEMANTIC, and TEXT make content searchable; NONE is store-only (the data is persisted, retrievable, and usable for lookups, but not searchable). Omit for no default: a record with no indexMode of its own then defaults to NONE, and a document with no indexMode is rejected.
- Specified by:
indexModein interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
indexMode
Default search-index mode for instances of this type — applies to records of this type and to documents bound to this schema, unless the individual record or document sets its own indexMode. HYBRID, SEMANTIC, and TEXT make content searchable; NONE is store-only (the data is persisted, retrievable, and usable for lookups, but not searchable). Omit for no default: a record with no indexMode of its own then defaults to NONE, and a document with no indexMode is rejected.
- Specified by:
indexModein interfaceSchemaRequest._FinalStage
-
capabilities
Feature flags for this schema.
auditHistory(default true) controls whether a change-history (version) trail is kept for this type's data; setting it false stops recording the trail but never affects your record or document data itself.readAccessLog(default false; opt-in) controls accounting-of-disclosures logging: when true, each governed read of this schema's records writes a retained, subject-enumerable access record. The effective value resolves in order: this schema flag, then your context's default, then the platform default (false).- Specified by:
capabilitiesin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
capabilities
Feature flags for this schema.
auditHistory(default true) controls whether a change-history (version) trail is kept for this type's data; setting it false stops recording the trail but never affects your record or document data itself.readAccessLog(default false; opt-in) controls accounting-of-disclosures logging: when true, each governed read of this schema's records writes a retained, subject-enumerable access record. The effective value resolves in order: this schema flag, then your context's default, then the platform default (false).- Specified by:
capabilitiesin interfaceSchemaRequest._FinalStage
-
renderHints
UI rendering hints keyed by field id.
- Specified by:
renderHintsin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
renderHints
UI rendering hints keyed by field id.
- Specified by:
renderHintsin interfaceSchemaRequest._FinalStage
-
lookupFields
Payload fields to index for direct lookup queries. Maximum 10 lookup fields.
- Specified by:
lookupFieldsin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
lookupFields
Payload fields to index for direct lookup queries. Maximum 10 lookup fields.
- Specified by:
lookupFieldsin interfaceSchemaRequest._FinalStage
-
fields
Field definitions used to validate record payloads. Omit for a bare schema that performs no payload validation.
- Specified by:
fieldsin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
fields
Field definitions used to validate record payloads. Omit for a bare schema that performs no payload validation.
- Specified by:
fieldsin interfaceSchemaRequest._FinalStage
-
description
Optional description of what this schema is for.
- Specified by:
descriptionin interfaceSchemaRequest._FinalStage- Returns:
- Reference to
thisso that method calls can be chained together.
-
description
Optional description of what this schema is for.
- Specified by:
descriptionin interfaceSchemaRequest._FinalStage
-
build
- Specified by:
buildin interfaceSchemaRequest._FinalStage
-
additionalProperty
- Specified by:
additionalPropertyin interfaceSchemaRequest._FinalStage
-
additionalProperties
- Specified by:
additionalPropertiesin interfaceSchemaRequest._FinalStage
-