Flatfile subpackage_snapshots API

The subpackage_snapshots API from Flatfile — 4 operation(s) for subpackage_snapshots.

OpenAPI Specification

flatfile-subpackage-snapshots-api-openapi.yml Raw ↑
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