Class FolderRequest.Builder

java.lang.Object
ai.vectros.types.FolderRequest.Builder
All Implemented Interfaces:
FolderRequest._FinalStage, FolderRequest.NameStage
Enclosing class:
FolderRequest

public static final class FolderRequest.Builder extends Object implements FolderRequest.NameStage, FolderRequest._FinalStage
  • Method Details

    • from

      public FolderRequest.Builder from(FolderRequest other)
      Specified by:
      from in interface FolderRequest.NameStage
    • name

      public FolderRequest._FinalStage name(@NotNull @NotNull String name)

      Human-readable display name of the folder. Required.

      Human-readable display name of the folder. Required.

      Specified by:
      name in interface FolderRequest.NameStage
      Returns:
      Reference to this so that method calls can be chained together.
    • expectedVersion

      public FolderRequest._FinalStage expectedVersion(Long expectedVersion)

      Optimistic-concurrency token for updates. Pass the version you last read to make the update conditional — it is rejected with a 409 version conflict (and the stored folder is left untouched) if the folder changed since. Omit for last-write-wins (the default). Ignored on create.

      Specified by:
      expectedVersion in interface FolderRequest._FinalStage
      Returns:
      Reference to this so that method calls can be chained together.
    • expectedVersion

      public FolderRequest._FinalStage expectedVersion(Optional<Long> expectedVersion)

      Optimistic-concurrency token for updates. Pass the version you last read to make the update conditional — it is rejected with a 409 version conflict (and the stored folder is left untouched) if the folder changed since. Omit for last-write-wins (the default). Ignored on create.

      Specified by:
      expectedVersion in interface FolderRequest._FinalStage
    • scopes

      public FolderRequest._FinalStage scopes(List<String> scopes)

      The folder's scope ownership, as namespace:value entries (at most 2 namespaces) — for example ["org:6ba7b810-9dad-11d1-80b4-00c04fd430c8", "group:eng-team"]. org and client are reserved namespace names, registered like any other; others are namespaces you registered yourself (lowercase, 2-32 chars). A value is 1-128 characters: a letter or digit first, then letters, digits, _ or -. Resolve a namespace's UUID from your own identifier with GET /v1/entities/{namespace}?externalId=. When supplied, this is the folder's COMPLETE scope declaration: each entry must fall inside the data_scope of a single clause of your credential that also grants this write — your identity supplies the DEFAULT value when you state none, it does not limit which value you may state. An empty array creates a folder owned by the calling user alone (the private tier), and requires a credential whose identity carries a user. Omit the field to inherit the token's full identity — the default. On update, omit to leave ownership unchanged, or supply the complete new selection ([] clears it).

      Specified by:
      scopes in interface FolderRequest._FinalStage
      Returns:
      Reference to this so that method calls can be chained together.
    • scopes

      public FolderRequest._FinalStage scopes(Optional<List<String>> scopes)

      The folder's scope ownership, as namespace:value entries (at most 2 namespaces) — for example ["org:6ba7b810-9dad-11d1-80b4-00c04fd430c8", "group:eng-team"]. org and client are reserved namespace names, registered like any other; others are namespaces you registered yourself (lowercase, 2-32 chars). A value is 1-128 characters: a letter or digit first, then letters, digits, _ or -. Resolve a namespace's UUID from your own identifier with GET /v1/entities/{namespace}?externalId=. When supplied, this is the folder's COMPLETE scope declaration: each entry must fall inside the data_scope of a single clause of your credential that also grants this write — your identity supplies the DEFAULT value when you state none, it does not limit which value you may state. An empty array creates a folder owned by the calling user alone (the private tier), and requires a credential whose identity carries a user. Omit the field to inherit the token's full identity — the default. On update, omit to leave ownership unchanged, or supply the complete new selection ([] clears it).

      Specified by:
      scopes in interface FolderRequest._FinalStage
    • userId

      public FolderRequest._FinalStage userId(String userId)

      Optional ID of the user that should own this folder — the Vectros-assigned UUID of a user in your account. With an API key, this sets the folder's owner directly. With a scoped token the owning user is attributed by the server from your credential and cannot be set to a different user; supplying one that conflicts is rejected.

      Specified by:
      userId in interface FolderRequest._FinalStage
      Returns:
      Reference to this so that method calls can be chained together.
    • userId

      public FolderRequest._FinalStage userId(Optional<String> userId)

      Optional ID of the user that should own this folder — the Vectros-assigned UUID of a user in your account. With an API key, this sets the folder's owner directly. With a scoped token the owning user is attributed by the server from your credential and cannot be set to a different user; supplying one that conflicts is rejected.

      Specified by:
      userId in interface FolderRequest._FinalStage
    • slug

      public FolderRequest._FinalStage slug(String slug)

      Optional stable slug for the folder, unique among its siblings under the same parent. Useful as an idempotency key so re-creating the same folder returns the existing one rather than a duplicate. Derived from the name when omitted. Must be lowercase letters, digits, and hyphens. Immutable once the folder is created.

      Specified by:
      slug in interface FolderRequest._FinalStage
      Returns:
      Reference to this so that method calls can be chained together.
    • slug

      Optional stable slug for the folder, unique among its siblings under the same parent. Useful as an idempotency key so re-creating the same folder returns the existing one rather than a duplicate. Derived from the name when omitted. Must be lowercase letters, digits, and hyphens. Immutable once the folder is created.

      Specified by:
      slug in interface FolderRequest._FinalStage
    • parentFolderId

      public FolderRequest._FinalStage parentFolderId(String parentFolderId)

      ID of the parent folder to create this folder under, applied at creation only. Omit to create the folder under your context's default root folder. Ignored on update: a folder cannot currently be moved via the API.

      Specified by:
      parentFolderId in interface FolderRequest._FinalStage
      Returns:
      Reference to this so that method calls can be chained together.
    • parentFolderId

      public FolderRequest._FinalStage parentFolderId(Optional<String> parentFolderId)

      ID of the parent folder to create this folder under, applied at creation only. Omit to create the folder under your context's default root folder. Ignored on update: a folder cannot currently be moved via the API.

      Specified by:
      parentFolderId in interface FolderRequest._FinalStage
    • description

      public FolderRequest._FinalStage description(String description)

      Optional description of the folder's contents or purpose.

      Specified by:
      description in interface FolderRequest._FinalStage
      Returns:
      Reference to this so that method calls can be chained together.
    • description

      public FolderRequest._FinalStage description(Optional<String> description)

      Optional description of the folder's contents or purpose.

      Specified by:
      description in interface FolderRequest._FinalStage
    • build

      public FolderRequest build()
      Specified by:
      build in interface FolderRequest._FinalStage
    • additionalProperty

      public FolderRequest.Builder additionalProperty(String key, Object value)
      Specified by:
      additionalProperty in interface FolderRequest._FinalStage
    • additionalProperties

      public FolderRequest.Builder additionalProperties(Map<String,Object> additionalProperties)
      Specified by:
      additionalProperties in interface FolderRequest._FinalStage