file-folders

Update File Folder

Changed on

Rename and/or toggle merge and/or update write-semantics (incl. the full_delivery batch fields) and/or the parse profile on a FileFolder.

Ordering: deterministic pre-checks FIRST, then write-semantics, then rename, then merge_enabled, then the parse profile LAST — a request that enables merge and sets a profile together must see the merge state this same request just wrote. Each block commits its own transaction internally (full cross-block atomicity is out of scope — see the "Atomicity contract" comment below), so every failure mode that's deterministic from the request body + the folder's state at the start of the request (not a race) is checked upfront, before any block runs: a request like {merge_enabled: true, write_semantics: "replace_overlap", coverage_columns: ["bad_col"]} on a folder with existing subfolders fails on the pre-check with no side effect at all, instead of committing the semantics change and then 409-ing on merge_enabled. Similarly a rename that collides with a sibling name is caught before the semantics block runs, not after. The parse-profile pre-check mirrors this: a profile on a folder that is not merge-enabled and is not becoming one in this same request is rejected upfront (400), before any block runs. Note the collection-schema subset check inside the semantics block still uses the CURRENT merge_database_id, which is None when merge_enabled is being turned on in this same request (the check is then skipped since there's no collection schema yet); a bad coverage column in that combination surfaces later as a per-file merge_error on the next merge rather than a 400 here.

patch/api/v1/file-folders/{folder_id}

Request

  • Base URL
    https://api.netter.ai (the document declares no server; this is the origin it was published from)
  • URL
    https://api.netter.ai/api/v1/file-folders/{folder_id}
  • Auth
    none declared

Path parameters

folder_idstring uuid required

Request body

namestring nullable
merge_enabledboolean nullable
write_semantics'append' | 'replace_overlap' | 'replace_all' | 'full_delivery' nullable
coverage_columnsstring[] nullable
coverage_granularity'exact' | 'day' | 'month' | 'quarter' | 'year' nullable
batch_key_patternstring nullable
batch_sizeinteger nullable
batch_timeout_hoursnumber nullable
parse_header_row_indexinteger nullable
parse_drop_columnsinteger[] nullable

Response

Successful Response

idstring required
namestring required
parent_folder_idstring nullable
merge_enabledboolean required
schema_modestring required
merge_database_idstring nullable required
write_semanticsstring
coverage_columnsstring[] nullable
coverage_granularitystring
batch_key_patternstring nullable
batch_sizeinteger nullable
batch_timeout_hoursnumber nullable
sealed_batch_keystring nullable
parse_header_row_indexinteger nullable
parse_drop_columnsinteger[] nullable
member_countinteger
has_childrenboolean

Changes

    • info

      added the new optional request property

    • info

      added the new optional request property

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status