Class DocumentResponse

java.lang.Object
ai.vectros.types.DocumentResponse

public final class DocumentResponse extends Object
  • Method Details

    • getCreated

      public Optional<Boolean> getCreated()
      Returns:
      Whether this call created a new document. True when a new document was created; false when a document with the same externalId already existed and was returned unchanged (idempotent create) or updated (when ?upsert=true). Present only on the create response (POST /v1/documents); absent on reads. The HTTP status mirrors it — 201 when created, 200 when an existing document was returned.
    • getId

      public Optional<String> getId()
      Returns:
      The Vectros-assigned unique ID of the document.
    • getTitle

      public Optional<String> getTitle()
      Returns:
      The document's title.
    • getExternalId

      public Optional<String> getExternalId()
      Returns:
      Your own stable identifier for this document (immutable, and unique within your context). Null if the document was created without one.
    • getStatus

      public Optional<DocumentResponseStatus> getStatus()
      Returns:
      Lifecycle status you control. ACTIVE (the default) means the document is live and returned in search/recall; ARCHIVED means you have soft-retracted it — it is pulled from search but kept and recoverable (set it back to ACTIVE to restore). Set via the document update endpoint. Distinct from indexStatus, which reports the processing pipeline.
    • getIndexStatus

      public Optional<DocumentResponseIndexStatus> getIndexStatus()
      Returns:
      Processing status of the document (system-managed, read-only). PENDING_UPLOAD, UPLOADED, EXTRACTING, and PENDING_INDEX are in-flight states; INDEXED means indexing is complete and the document is searchable — but the two search strategies do not become queryable at the same instant. Keyword (TEXT) matching is immediate. The semantic (vector) index is eventually consistent for queries: durably written at INDEXED, but typically queryable a second or two later (longer under heavy indexing load). A freshly indexed document that matches a HYBRID or RAG query's keywords still surfaces immediately — you don't wait for the vector index — but a query that can only match it semantically (a mode: SEMANTIC search, or a HYBRID/RAG query sharing no words with the document) may not return it for those first few seconds. If you search immediately after a write, share words with the document or briefly retry. SKIPPED means extraction produced no indexable text so there was nothing to index — the document is stored and retrievable, just not searchable (not an error); STORED means it is store-only (indexMode=NONE) — persisted and retrievable but by design not searchable; FAILED means processing failed.
    • getIndexFailure

      public Optional<IndexFailure> getIndexFailure()
    • getIndexMode

      public Optional<DocumentResponseIndexMode> getIndexMode()
      Returns:
      How this document is indexed. HYBRID, SEMANTIC, and TEXT are searchable; NONE is store-only (not indexed for search).
    • getStoreText

      public Optional<Boolean> getStoreText()
      Returns:
      Whether the document's text is retained after indexing — fixed at ingest time. Text-ingested documents always retain their body. File-uploaded documents retain their extracted text by default; uploaded with storeText=false, the extracted text is discarded once indexing completes (/text then returns 404 and /ask 409; search and the file download are unaffected). Note: documents created before this flag reached its current semantics may report false while their text was in fact retained (file documents from before the flag was settable, and text documents ingested under the old opt-in) — GET /{id}/text succeeding is the authoritative signal for those.
    • getFolderId

      public Optional<String> getFolderId()
      Returns:
      The ID of the folder that contains this document.
    • getPayload

      public Optional<Map<String,Object>> getPayload()
      Returns:
      The document's structured payload, as a JSON object. When schemaId is set, schema-declared fields are validated and indexed for lookup; undeclared keys pass through as free-form. A by-id GET returns the full payload; on list responses this may be only the inline subset of fields (see payloadExternalized).
    • getPayloadExternalized

      public Optional<Boolean> getPayloadExternalized()
      Returns:
      True when this document's structured payload is large enough to be stored externally rather than inline. In that case payload on a list response holds only the inline subset of fields; fetch the full payload with a by-id GET.
    • getPayloadPartial

      public Optional<Boolean> getPayloadPartial()
      Returns:
      True when THIS response returned only a PARTIAL structured payload — a large document's bulk fields are omitted from payload because you did not request them (a list or lookup without includePayload=true). Unlike payloadExternalized (also true on a by-id read that DID return the full payload), this tells you the payload in hand is incomplete: fetch the full payload with a by-id GET or includePayload=true. To UPDATE such a document, use PATCH (which preserves omitted fields) — a PUT built from this response would clear them unless you pass ?allowClear=true. Null when the payload is complete. (The document's text/body is always preserved on a PUT that omits text.)
    • getSchemaId

      public Optional<String> getSchemaId()
      Returns:
      The ID of the record schema this document's payload is validated and indexed against. Null if the document is schemaless.
    • getSchemaVersion

      public Optional<Integer> getSchemaVersion()
      Returns:
      The version of the bound schema in effect when this document was written. A document keeps the version it was stamped with at write time, even after the schema is later edited. Null when the document is schemaless.
    • getTextBytes

      public Optional<Long> getTextBytes()
      Returns:
      Size of the extracted text, in bytes.
    • getUserId

      public Optional<String> getUserId()
      Returns:
      The owning user — the Vectros-assigned UUID of a user in your account.
    • getScopes

      public Optional<List<String>> getScopes()
      Returns:
      The document's scope ownership as canonical namespace:value entries (at most 2). org and client are reserved namespace names; any other is one you registered yourself. Set at creation, either explicitly or automatically from the calling token's identity. Empty for a document owned by a user alone (or unowned). Filter lists by these values with ?scope=.
    • getFileType

      public Optional<String> getFileType()
      Returns:
      MIME type of the uploaded file. Present only for file-backed documents.
    • getFileSize

      public Optional<Long> getFileSize()
      Returns:
      Size of the uploaded file, in bytes. Present only for file-backed documents.
    • getCreatedAt

      public Optional<String> getCreatedAt()
      Returns:
      When the document was created, as an ISO-8601 UTC timestamp.
    • getLastModified

      public Optional<String> getLastModified()
      Returns:
      When the document was last modified, as an ISO-8601 UTC timestamp.
    • getVersion

      public Optional<Long> getVersion()
      Returns:
      Optimistic-concurrency version. Pass this back as expectedVersion on a later update to avoid silently overwriting a concurrent change — the update is rejected with 409 if the document has moved on. Incremented on every successful write.
    • 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 DocumentResponse.Builder builder()