Flatfile subpackage_snapshots API
The subpackage_snapshots API from Flatfile — 4 operation(s) for subpackage_snapshots.
The subpackage_snapshots API from Flatfile — 4 operation(s) for subpackage_snapshots.
openapi: 3.1.0
info:
title: API Reference subpackage_accounts subpackage_snapshots API
version: 1.0.0
servers:
- url: https://api.x.flatfile.com/v1
tags:
- name: subpackage_snapshots
paths:
/snapshots:
post:
operationId: create-snapshot
summary: Create a snapshot
description: Creates a snapshot of a sheet
tags:
- subpackage_snapshots
parameters:
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
- name: X-Disable-Hooks
in: header
required: true
schema:
type: string
enum:
- 'true'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/type_snapshots:SnapshotResponse'
'400':
description: Error response with status 400
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
'404':
description: Error response with status 404
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
requestBody:
content:
application/json:
schema:
type: object
properties:
sheetId:
$ref: '#/components/schemas/type_commons:SheetId'
description: ID of sheet
label:
type: string
description: Label for the snapshot
threadId:
type: string
description: ID of thread to associate with the snapshot
required:
- sheetId
get:
operationId: list-snapshots
summary: List snapshots
description: List all snapshots of a sheet
tags:
- subpackage_snapshots
parameters:
- name: sheetId
in: query
description: ID of sheet
required: true
schema:
$ref: '#/components/schemas/type_commons:SheetId'
- name: threadId
in: query
description: ID of thread to filter snapshots by
required: false
schema:
type: string
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
- name: X-Disable-Hooks
in: header
required: true
schema:
type: string
enum:
- 'true'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/type_snapshots:SnapshotsResponse'
'400':
description: Error response with status 400
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
'404':
description: Error response with status 404
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
/snapshots/{snapshotId}:
get:
operationId: get-snapshot
summary: Get a snapshot
description: Gets a snapshot of a sheet
tags:
- subpackage_snapshots
parameters:
- name: snapshotId
in: path
description: ID of snapshot
required: true
schema:
$ref: '#/components/schemas/type_commons:SnapshotId'
- name: includeSummary
in: query
description: Whether to include a summary in the snapshot response
required: true
schema:
type: boolean
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
- name: X-Disable-Hooks
in: header
required: true
schema:
type: string
enum:
- 'true'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/type_snapshots:SnapshotResponse'
'400':
description: Error response with status 400
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
'404':
description: Error response with status 404
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
delete:
operationId: delete-snapshot
summary: Delete a snapshot
description: Deletes a snapshot of a sheet
tags:
- subpackage_snapshots
parameters:
- name: snapshotId
in: path
description: ID of snapshot
required: true
schema:
$ref: '#/components/schemas/type_commons:SnapshotId'
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
- name: X-Disable-Hooks
in: header
required: true
schema:
type: string
enum:
- 'true'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Success'
'400':
description: Error response with status 400
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
'404':
description: Error response with status 404
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
/snapshots/{snapshotId}/restore:
post:
operationId: restore-snapshot
summary: Restore a snapshot
description: Restores a snapshot of a sheet
tags:
- subpackage_snapshots
parameters:
- name: snapshotId
in: path
description: ID of snapshot
required: true
schema:
$ref: '#/components/schemas/type_commons:SnapshotId'
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
- name: X-Disable-Hooks
in: header
required: true
schema:
type: string
enum:
- 'true'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/type_snapshots:SnapshotResponse'
'400':
description: Error response with status 400
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
'404':
description: Error response with status 404
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/type_snapshots:RestoreOptions'
/snapshots/{snapshotId}/records:
get:
operationId: get-snapshot-records
summary: Get records from a snapshot
description: Gets records from a snapshot of a sheet
tags:
- subpackage_snapshots
parameters:
- name: snapshotId
in: path
description: ID of snapshot
required: true
schema:
$ref: '#/components/schemas/type_commons:SnapshotId'
- name: pageSize
in: query
description: Number of records to return in a page
required: false
schema:
type: integer
- name: pageNumber
in: query
description: Based on pageSize, which page of records to return
required: false
schema:
type: integer
- name: changeType
in: query
description: Filter records by change type
required: false
schema:
$ref: '#/components/schemas/type_snapshots:ChangeType'
- name: Authorization
in: header
description: Bearer authentication
required: true
schema:
type: string
- name: X-Disable-Hooks
in: header
required: true
schema:
type: string
enum:
- 'true'
responses:
'200':
description: Response with status 200
content:
application/json:
schema:
$ref: '#/components/schemas/type_records:DiffRecordsResponse'
'400':
description: Error response with status 400
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
'404':
description: Error response with status 404
content:
application/json:
schema:
$ref: '#/components/schemas/type_commons:Errors'
components:
schemas:
type_snapshots:SchemaDiffRecord:
$ref: '#/components/schemas/type_snapshots:SchemaDiffData'
title: SchemaDiffRecord
type_snapshots:SchemaDiffData:
type: object
additionalProperties:
$ref: '#/components/schemas/type_snapshots:SchemaDiffEnum'
title: SchemaDiffData
type_snapshots:SchemaDiffEnum:
type: string
enum:
- added
- removed
- unchanged
title: SchemaDiffEnum
type_records:CellConfig:
type: object
properties:
readonly:
type: boolean
description: CellConfig
title: CellConfig
type_sheets:SheetConfig:
type: object
properties:
name:
type: string
description: The name of your Sheet as it will appear to your end users.
description:
type: string
description: A sentence or two describing the purpose of your Sheet.
slug:
type: string
description: A unique identifier for your Sheet.
readonly:
type: boolean
description: A boolean specifying whether or not this sheet is read only. Read only sheets are not editable by end users.
allowAdditionalFields:
type: boolean
description: Allow end users to add fields during mapping.
mappingConfidenceThreshold:
type: number
format: double
description: The minimum confidence required to automatically map a field
access:
type: array
items:
$ref: '#/components/schemas/type_sheets:SheetAccess'
description: Control Sheet-level access for all users.
fields:
type: array
items:
$ref: '#/components/schemas/type_property:Property'
description: Where you define your Sheet's data schema.
actions:
type: array
items:
$ref: '#/components/schemas/type_commons:Action'
description: An array of actions that end users can perform on this Sheet.
metadata:
description: Useful for any contextual metadata regarding the schema. Store any valid json
constraints:
type: array
items:
$ref: '#/components/schemas/type_sheets:SheetConstraint'
description: An array of constraints that end users can perform on this Sheet.
treatments:
type: array
items:
$ref: '#/components/schemas/type_sheets:SheetTreatments'
description: An array of treatments that define the behavior of the sheet.
collection:
type: string
description: Collection in which to group the sheet
required:
- name
- fields
description: Describes shape of data as well as behavior
title: SheetConfig
type_commons:Success:
type: object
properties:
data:
$ref: '#/components/schemas/type_commons:SuccessData'
description: Informs whether or not a request was successful
title: Success
type_commons:VersionId:
type: string
description: Version ID
title: VersionId
type_property:FieldAppearance:
type: object
properties:
size:
$ref: '#/components/schemas/type_property:FieldSize'
description: Control the appearance of this field when it's displayed in a table or input
title: FieldAppearance
type_commons:CommitId:
type: string
description: Commit ID
title: CommitId
type_property:EnumPropertyOption:
type: object
properties:
label:
type: string
description: A visual label for this option
description:
type: string
description: A short description for this option
color:
type: string
description: An optional color to assign this option
icon:
type: string
description: A reference pointer to a previously registered icon
meta:
type: object
additionalProperties:
description: Any type
description: An arbitrary JSON object to be associated with this option and made available to hooks
value:
description: The value or ID of this option. This value will be sent in egress. The type is a string | integer | boolean.
alternativeNames:
type: array
items:
type: string
description: Alternative names to match this enum option to
ordinal:
type: integer
description: The order of this option in the list. SortBy must be set to `ordinal` to use this.
required:
- value
title: EnumPropertyOption
type_commons:Guide:
type: object
properties:
content:
type: string
description: Markdown guidance for this action
required:
- content
title: Guide
type_sheets:SheetConstraint:
oneOf:
- type: object
properties:
type:
type: string
enum:
- unique
description: 'Discriminator value: unique'
name:
type: string
description: The name of the constraint
fields:
type: array
items:
type: string
description: The fields that must be unique together
requiredFields:
type: array
items:
type: string
description: Fields that, when empty, will cause this unique constraint to be ignored
strategy:
$ref: '#/components/schemas/type_sheets:CompositeUniqueConstraintStrategy'
config:
$ref: '#/components/schemas/type_sheets:CompositeUniqueConstraintConfig'
description: Configuration options for the composite unique constraint
required:
- type
- name
- fields
- strategy
- type: object
properties:
type:
type: string
enum:
- external
description: 'Discriminator value: external'
validator:
type: string
fields:
type: array
items:
type: string
description: The fields that must be unique together
config:
description: Any type
required:
- type
- validator
discriminator:
propertyName: type
title: SheetConstraint
type_records:ValidationSource:
type: string
enum:
- required-constraint
- unique-constraint
- custom-logic
- unlinked
- invalid-option
- is-artifact
title: ValidationSource
type_property:FieldSize:
type: string
enum:
- xs
- s
- m
- l
- xl
description: The default visual sizing. This sizing may be overridden by a user
title: FieldSize
type_records:ValidationType:
type: string
enum:
- error
- warn
- info
title: ValidationType
type_commons:InputConstraintType:
type: string
enum:
- required
title: InputConstraintType
type_data-clips:RemovedFromMainResolution:
type: string
enum:
- ignore
- restore
title: RemovedFromMainResolution
type_data-clips:Resolve:
type: object
properties:
field:
type: string
type:
$ref: '#/components/schemas/type_data-clips:ResolveType'
resolveTo:
$ref: '#/components/schemas/type_data-clips:ResolveTo'
clip_value_reference:
type: string
main_value_reference:
type: string
removedFromMainResolution:
$ref: '#/components/schemas/type_data-clips:RemovedFromMainResolution'
description: Conflict resolutions for a record
title: Resolve
type_property:ReferenceListPropertyConfig:
type: object
properties:
ref:
type: string
description: Full path reference to a sheet configuration. Must be in the same workbook.
key:
type: string
description: Key of the property to use as the reference key. Defaults to `id`
filter:
$ref: '#/components/schemas/type_property:ReferenceFilter'
description: Optional filter to narrow the set of records in the reference sheet used as valid values
required:
- ref
- key
title: ReferenceListPropertyConfig
type_property:NumberConfig:
type: object
properties:
decimalPlaces:
type: integer
description: Number of decimal places to round data to
title: NumberConfig
type_property:RequiredConstraintConfig:
type: object
properties:
message:
type: string
description: Custom validation message to display when the constraint fails
level:
$ref: '#/components/schemas/type_records:ValidationType'
description: Validation level (error, warn, info). Defaults to error.
title: RequiredConstraintConfig
type_commons:RecordId:
type: string
description: Record ID
title: RecordId
type_commons:ActionMode:
type: string
enum:
- foreground
- background
- toolbarBlocking
description: Foreground actions will prevent interacting with the resource until complete
title: ActionMode
type_commons:ActionSchedule:
type: string
enum:
- weekly
- daily
- hourly
title: ActionSchedule
type_snapshots:SnapshotSummary:
type: object
properties:
createdSince:
$ref: '#/components/schemas/type_snapshots:SummarySection'
updatedSince:
$ref: '#/components/schemas/type_snapshots:SummarySection'
deletedSince:
$ref: '#/components/schemas/type_snapshots:SummarySection'
schemaDiff:
$ref: '#/components/schemas/type_snapshots:SchemaDiffRecord'
description: The schema diff between the snapshot and the current sheet schema.
config:
$ref: '#/components/schemas/type_sheets:SheetConfig'
description: The sheet configuration at the time of the snapshot.
required:
- createdSince
- updatedSince
- deletedSince
- schemaDiff
- config
title: SnapshotSummary
type_commons:ActionMessageType:
type: string
enum:
- error
- info
title: ActionMessageType
type_property:ReferenceFilter:
type: object
properties:
refField:
type: string
description: The field key of the reference sheet to filter with
recordField:
type: string
description: The field key of the record used to filter the reference field
required:
- refField
- recordField
description: If provided, the reference filter will narrow the set of records in the reference sheet used as the set of valid values for the record. Only rows where the value in the reference sheet's refField matches the value in this record's recordField will be used.
title: ReferenceFilter
type_sheets:SheetAccess:
type: string
enum:
- '*'
- add
- edit
- delete
- import
title: SheetAccess
type_commons:ActionId:
type: string
description: Action ID
title: ActionId
type_property:StringConfigOptions:
type: string
enum:
- tiny
- normal
- medium
- long
description: How much text should be storeable in this field
title: StringConfigOptions
type_property:UniqueConstraintConfig:
type: object
properties:
caseSensitive:
type: boolean
description: Ignore casing when determining uniqueness
ignoreEmpty:
type: boolean
description: Do not flag empty values as duplicate
message:
type: string
description: Custom validation message to display when the constraint fails
level:
$ref: '#/components/schemas/type_records:ValidationType'
description: Validation level (error, warn, info). Defaults to error.
title: UniqueConstraintConfig
type_sheets:CompositeUniqueConstraintStrategy:
type: string
enum:
- hash
- concat
title: CompositeUniqueConstraintStrategy
type_commons:SheetId:
type: string
description: Sheet ID
title: SheetId
type_data-clips:ResolveType:
type: string
enum:
- conflict
- resolve
title: ResolveType
type_records:DiffData:
type: object
additionalProperties:
$ref: '#/components/schemas/type_records:DiffValue'
title: DiffData
type_records:DiffValue:
type: object
properties:
valid:
type: boolean
messages:
type: array
items:
$ref: '#/components/schemas/type_records:ValidationMessage'
metadata:
type: object
additionalProperties:
description: Any type
description: Deprecated, use record level metadata instead.
value:
$ref: '#/components/schemas/type_records:CellValueUnion'
layer:
type: string
updatedAt:
type: string
format: date-time
snapshotValue:
$ref: '#/components/schemas/type_records:CellValueUnion'
clipValue:
$ref: '#/components/schemas/type_records:CellValueUnion'
warning:
type: boolean
warnings:
type: array
items:
type: string
title: DiffValue
type_commons:InputConstraint:
type: object
properties:
type:
$ref: '#/components/schemas/type_commons:InputConstraintType'
required:
- type
title: InputConstraint
type_commons:ActionMessage:
type: object
properties:
type:
$ref: '#/components/schemas/type_commons:ActionMessageType'
content:
type: string
required:
- type
- content
title: ActionMessage
type_commons:Error:
type: object
properties:
key:
type: string
message:
type: string
required:
- message
title: Error
type_commons:InputForm:
type: object
properties:
type:
$ref: '#/components/schemas/type_commons:InputFormType'
fields:
type: array
items:
$ref: '#/components/schemas/type_commons:InputField'
required:
- type
- fields
title: InputForm
type_property:StringConfig:
type: object
properties:
size:
$ref: '#/components/schemas/type_property:StringConfigOptions'
required:
- size
title: StringConfig
type_commons:InputField:
type: object
properties:
key:
type: string
description: Unique key for a Field.
label:
type: string
description: Visible name of a Field.
description:
type: string
description: Brief description below the name of the Field.
type:
type: string
description: Field Types inform the user interface how to sort and display data.
defaultValue:
description: Default value for a Field.
config:
$ref: '#/components/schemas/type_commons:InputConfig'
description: Additional configuration for enum Fields.
constraints:
type: array
items:
$ref: '#/components/schemas/type_commons:InputConstraint'
description: Indicate additional validations that will be applied to the Field.
required:
- key
- label
- type
title: InputField
type_commons:SuccessData:
type: object
properties:
success:
type: boolean
required:
- success
title: SuccessData
type_commons:ActionConstraint:
oneOf:
- type: object
properties:
type:
type: string
enum:
- hasAllValid
description: 'Discriminator value: hasAllValid'
ignoreSelection:
type: boolean
required:
- type
- type: object
properties:
type:
type: string
enum:
- hasSelection
description: 'Discriminator value: hasSelection'
required:
- type
- type: object
properties:
type:
type: string
enum:
- hasData
description: 'Discriminator value: hasData'
required:
- type
- type: object
properties:
type:
type: string
enum:
- hasColumnEnabled
description: 'Discriminator value: hasColumnEnabled'
required:
- type
discriminator:
propertyName: type
title: ActionConstraint
type_commons:ActionMount:
oneOf:
- type: object
properties:
type:
type: string
enum:
- sheet
description: 'Discriminator value: sheet'
slugs:
type: array
items:
type: string
required:
- type
- type: object
properties:
type:
type: string
enum:
- workbook
description: 'Discriminator value: workbook'
slugs:
type: array
items:
type: string
required:
- type
- type: object
properties:
type:
type: string
enum:
- field
description: 'Discriminator value: field'
keys:
type: array
items:
type: string
required:
- type
- type: object
properties:
type:
type: string
enum:
- document
description: 'Discriminator value: document'
required:
- type
- type: object
properties:
type:
type: string
enum:
- file
description: 'Discriminator value: file'
required:
- type
discriminator:
propertyName: type
title: ActionMount
type_commons:InputFormType:
type: string
enum:
- simple
title: InputFormType
type_commons:InputConfig:
type: object
properties:
options:
type: array
items:
$ref: '#/components/schemas/type_commons:InputEnumPropertyOption'
required:
- options
title: InputConfig
type_commons:InputEnumPropertyOption:
type: object
properties:
label:
type: string
description: A visual label for this option, defaults to value if not provided
description:
type: string
description: A short description for this option
color:
type: string
description: An optional color to assign this option
icon:
type: string
description: A reference pointer to a previously registered icon
meta:
type: object
additionalProperties:
description: Any type
description: An arbitrary JSON object to be associated with this option and made available to hooks
value:
description: The value or ID of this option. This value will be sent in egress. The type is a string | integer | boolean.
required:
- value
title: InputEnumPropertyOption
type_snapshots:RestoreOptions:
type: object
properties:
created:
type: boolean
updated:
type: boolean
deleted:
type: boolean
required:
- created
- updated
- deleted
title: RestoreOptions
type_property:EnumPropertyConfig:
type: object
properties:
allowCustom:
type: boolean
description: Permit the user to create new options for this specific field.
options:
type: array
items:
$ref: '#/components/schemas/type_property:EnumPropertyOption'
sortBy:
$ref: '#/components/schemas/type_property:EnumPropertySortBy'
description: Sort the options by the value of this property. Defaults to `label`.
required:
- options
title: EnumPropertyConfig
type_commons:Errors:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/type_commons:Error'
required:
- errors
title: Errors
type_snapshots:ChangeType:
type: string
enum:
- createdSince
- updatedSince
- deletedSince
description: Options to filter records in a snapshot
title: ChangeType
type_property:BooleanPropertyConfig:
type: object
properties:
allowIndeterminate:
type: boolean
description: Allow a neither true or false state to be stored as `null`
required:
- allowIndeterminate
title: BooleanPropertyConfig
type_sheets:SheetTreatments:
type: string
enum:
- CLIPPED_FROM_SHEET
- ENUM_REFERENCE
title: SheetTreatments
type_commons:Action:
type: object
properties:
slug:
type: string
description: '**This is deprecated. Use `operation` instead.**'
operation:
type: string
description: This will become the job operation that is triggered
mode:
$ref: '#/components/schemas/type_commons:ActionMode'
description: Foreground and toolbarBlocking action mode will prevent interacting with the resource until complete
tooltip:
type: string
description: A tooltip that appears when hovering the action button
messages:
type: array
items:
$ref: '#/components/schemas/type_commons:ActionMessage'
type:
type: string
description: '**This is deprecated.**'
description:
type: string
description: The text that appears in the dialog after the action is clicked.
schedule:
$ref: '#/components/schemas/type_commons:ActionSchedule'
description: Determines if the action should happen on a regular cadence.
primary:
type: boolean
description: A primary action will be more visibly present, whether in Sheet or Workbook.
confirm:
type: boolean
description: Whether to show a modal to confirm the action
icon:
type: string
description: Icon will wo
# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/flatfile/refs/heads/main/openapi/flatfile-subpackage-snapshots-api-openapi.yml