Class SchemaRequest

java.lang.Object
ai.vectros.types.SchemaRequest

public final class SchemaRequest extends Object
  • Method Details

    • getTypeName

      public String getTypeName()
      Returns:
      Unique type identifier for this schema. Immutable after creation.
    • getDisplayName

      public String getDisplayName()
      Returns:
      Human-readable display name for this type, shown in UIs.
    • getDescription

      public Optional<String> getDescription()
      Returns:
      Optional description of what this schema is for.
    • getFields

      public Optional<List<FieldDef>> getFields()
      Returns:
      Field definitions used to validate record payloads. Omit for a bare schema that performs no payload validation.
    • getLookupFields

      public Optional<List<LookupDef>> getLookupFields()
      Returns:
      Payload fields to index for direct lookup queries. Maximum 10 lookup fields.
    • getRenderHints

      public Optional<Map<String,RenderHintDef>> getRenderHints()
      Returns:
      UI rendering hints keyed by field id.
    • getCapabilities

      public Optional<Map<String,Boolean>> getCapabilities()
      Returns:
      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).
    • getIndexMode

      public Optional<SchemaRequestIndexMode> getIndexMode()
      Returns:
      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.
    • getStorageProfile

      public Optional<SchemaRequestStorageProfile> getStorageProfile()
      Returns:
      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.
    • getAllowedSurfaces

      public List<SchemaRequestAllowedSurfacesItem> getAllowedSurfaces()
      Returns:
      Which typed surfaces may bind this schema by its id: record, document, user, org, or client. Required and must be non-empty. 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.
    • getActive

      public Optional<Boolean> getActive()
      Returns:
      Whether this schema is active. An inactive schema rejects creation of new records of its type.
    • getUserId

      public Optional<String> getUserId()
      Returns:
      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.
    • getOrgId

      public Optional<String> getOrgId()
      Returns:
      Owning organization — the Vectros-assigned UUID of an organization in your account. Optional. With an API key, this sets the schema's owning organization explicitly. With a scoped token, it must match the token's identity claim (if set) or fall within the token's data scope.
    • getClientId

      public Optional<String> getClientId()
      Returns:
      Associated client — the Vectros-assigned UUID of a client in your account. Optional. With an API key, this sets the schema's client explicitly. With a scoped token, it must match the token's identity claim (if set) or fall within the token's data scope.
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • getAdditionalProperties

      public Map<String,Object> getAdditionalProperties()
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • builder

      public static SchemaRequest.TypeNameStage builder()