Flatfile subpackage_records API

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

OpenAPI Specification

flatfile-subpackage-records-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: API Reference subpackage_accounts subpackage_records API
  version: 1.0.0
servers:
- url: https://api.x.flatfile.com/v1
tags:
- name: subpackage_records
paths:
  /sheets/{sheetId}/records:
    get:
      operationId: get
      summary: Get records
      description: Returns records from a sheet in a workbook
      tags:
      - subpackage_records
      parameters:
      - name: sheetId
        in: path
        description: ID of sheet
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:SheetId'
      - name: versionId
        in: query
        description: Deprecated, use `commitId` instead.
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:VersionId'
      - name: commitId
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:CommitId'
      - name: sinceVersionId
        in: query
        description: Deprecated, use `sinceCommitId` instead.
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:VersionId'
      - name: sinceCommitId
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:CommitId'
      - name: sortField
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SortField'
      - name: sortDirection
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SortDirection'
      - name: filter
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:Filter'
      - name: filterField
        in: query
        description: Name of field by which to filter records
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:FilterField'
      - name: searchValue
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SearchValue'
      - name: searchField
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SearchField'
      - name: ids
        in: query
        description: The Record Ids param (ids) is a list of record ids that can be passed to several record endpoints allowing the user to identify specific records to INCLUDE in the query, or specific records to EXCLUDE, depending on whether or not filters are being applied. When passing a query param that filters the record dataset, such as 'searchValue', or a 'filter' of 'valid' | 'error' | 'all', the 'ids' param will EXCLUDE those records from the filtered results. For basic queries that do not filter the dataset, passing record ids in the 'ids' param will limit the dataset to INCLUDE just those specific records. Maximum of 100 allowed.
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:RecordId'
      - name: pageSize
        in: query
        description: Number of records to return in a page (default 10,000)
        required: false
        schema:
          type: integer
      - name: pageNumber
        in: query
        description: Based on pageSize, which page of records to return (Note - numbers start at 1)
        required: false
        schema:
          type: integer
      - name: includeCounts
        in: query
        description: '**DEPRECATED** Use GET /sheets/:sheetId/counts'
        required: false
        schema:
          type: boolean
      - name: includeLength
        in: query
        description: The length of the record result set, returned as counts.total
        required: false
        schema:
          type: boolean
      - name: includeLinks
        in: query
        description: If true, linked records will be included in the results. Defaults to false.
        required: false
        schema:
          type: boolean
      - name: includeMessages
        in: query
        description: Include error messages, defaults to false.
        required: false
        schema:
          type: boolean
      - name: fields
        in: query
        description: A list of field keys to include in the response. If not provided, all fields will be included.
        required: false
        schema:
          type: string
      - name: for
        in: query
        description: if "for" is provided, the query parameters will be pulled from the event payload
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:EventId'
      - name: q
        in: query
        description: An FFQL query used to filter the result set
        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_records:GetRecordsResponse'
        '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'
    put:
      operationId: update
      summary: Update records
      description: Updates existing records in a workbook sheet
      tags:
      - subpackage_records
      parameters:
      - name: sheetId
        in: path
        description: ID of sheet
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:SheetId'
      - 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_versions:VersionResponse'
        '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_records:Records'
    post:
      operationId: insert
      summary: Insert records
      description: Adds records to a workbook sheet
      tags:
      - subpackage_records
      parameters:
      - name: sheetId
        in: path
        description: ID of sheet
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:SheetId'
      - 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:RecordsResponse'
        '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: array
              items:
                $ref: '#/components/schemas/type_records:RecordData'
    delete:
      operationId: delete
      summary: Delete records
      description: Deletes records from a workbook sheet
      tags:
      - subpackage_records
      parameters:
      - name: sheetId
        in: path
        description: ID of sheet
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:SheetId'
      - name: ids
        in: query
        description: A list of record IDs to delete. Maximum of 100 allowed.
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:RecordId'
      - 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'
  /sheets/{sheetId}/records/indices:
    get:
      operationId: indices
      summary: Get record Indices
      description: Returns indices of records from a sheet in a workbook
      tags:
      - subpackage_records
      parameters:
      - name: sheetId
        in: path
        description: ID of sheet
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:SheetId'
      - name: commitId
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:CommitId'
      - name: sinceCommitId
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:CommitId'
      - name: sortField
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SortField'
      - name: sortDirection
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SortDirection'
      - name: filter
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:Filter'
      - name: filterField
        in: query
        description: Name of field by which to filter records
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:FilterField'
      - name: searchValue
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SearchValue'
      - name: searchField
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SearchField'
      - name: ids
        in: query
        description: List of record IDs to include in the query. Limit 100.
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:RecordId'
      - name: q
        in: query
        description: An FFQL query used to filter the result set
        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_records:GetRecordIndicesResponse'
        '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'
  /sheets/{sheetId}/find-replace:
    put:
      operationId: find-and-replace
      summary: 'Finds and replaces field values matching search criteria

        '
      description: Searches for all values that match the 'find' value (globally or for a specific field via 'fieldKey') and replaces them with the 'replace' value. Wrap 'find' value in double quotes for exact match (""). Returns a commitId for the updated records
      tags:
      - subpackage_records
      parameters:
      - name: sheetId
        in: path
        description: ID of sheet
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:SheetId'
      - name: filter
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:Filter'
      - name: filterField
        in: query
        description: Name of field by which to filter records
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:FilterField'
      - name: searchValue
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SearchValue'
      - name: searchField
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SearchField'
      - name: ids
        in: query
        description: The Record Ids param (ids) is a list of record ids that can be passed to several record endpoints allowing the user to identify specific records to INCLUDE in the query, or specific records to EXCLUDE, depending on whether or not filters are being applied. When passing a query param that filters the record dataset, such as 'searchValue', or a 'filter' of 'valid' | 'error' | 'all', the 'ids' param will EXCLUDE those records from the filtered results. For basic queries that do not filter the dataset, passing record ids in the 'ids' param will limit the dataset to INCLUDE just those specific records
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:RecordId'
      - name: q
        in: query
        description: An FFQL query used to filter the result set
        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_versions:VersionResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                find:
                  $ref: '#/components/schemas/type_records:CellValueUnion'
                  description: A value to find for a given field in a sheet. For exact matches, wrap the value in double quotes ("Bob")
                replace:
                  $ref: '#/components/schemas/type_records:CellValueUnion'
                  description: The value to replace found values with
                fieldKey:
                  type: string
                  description: A unique key used to identify a field in a sheet
              required:
              - fieldKey
  /sheets/{sheetId}/records/bulk-update:
    patch:
      operationId: bulk-update
      summary: 'Bulk update records with field values

        '
      description: Updates multiple records at once with the same field values based on filter criteria. This is similar to a SQL UPDATE statement where you can update specific fields for all records matching certain conditions.
      tags:
      - subpackage_records
      parameters:
      - name: sheetId
        in: path
        description: ID of sheet
        required: true
        schema:
          $ref: '#/components/schemas/type_commons:SheetId'
      - name: filter
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:Filter'
      - name: filterField
        in: query
        description: Name of field by which to filter records
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:FilterField'
      - name: searchValue
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SearchValue'
      - name: searchField
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SearchField'
      - name: sortField
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SortField'
      - name: sortDirection
        in: query
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:SortDirection'
      - name: ids
        in: query
        description: The Record Ids param (ids) is a list of record ids that can be passed to several record endpoints allowing the user to identify specific records to INCLUDE in the query, or specific records to EXCLUDE, depending on whether or not filters are being applied. When passing a query param that filters the record dataset, such as 'searchValue', or a 'filter' of 'valid' | 'error' | 'all', the 'ids' param will EXCLUDE those records from the filtered results. For basic queries that do not filter the dataset, passing record ids in the 'ids' param will limit the dataset to INCLUDE just those specific records
        required: false
        schema:
          $ref: '#/components/schemas/type_commons:RecordId'
      - name: q
        in: query
        description: An FFQL query used to filter the result set
        required: false
        schema:
          type: string
      - name: silent
        in: query
        description: Whether to suppress events for this bulk update
        required: false
        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_versions:VersionResponse'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                fieldUpdates:
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/type_records:CellValue'
                  description: A map of field keys to cell values that will be applied to all matching records
              required:
              - fieldUpdates
components:
  schemas:
    type_commons:EventId:
      type: string
      description: Event ID
      title: EventId
    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_records:CellConfig:
      type: object
      properties:
        readonly:
          type: boolean
      description: CellConfig
      title: CellConfig
    type_commons:FilterField:
      type: string
      description: Use this to narrow the valid/error filter results to a specific field
      title: FilterField
    type_records:GetRecordsResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/type_records:GetRecordsResponseData'
      required:
      - data
      title: GetRecordsResponse
    type_commons:CommitId:
      type: string
      description: Commit ID
      title: CommitId
    type_records:CellValueWithLinks:
      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
        links:
          $ref: '#/components/schemas/type_records:Records'
      title: CellValueWithLinks
    type_records:RecordData:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/type_records:CellValue'
      description: A single row of data in a Sheet
      title: RecordData
    type_records:ValidationSource:
      type: string
      enum:
      - required-constraint
      - unique-constraint
      - custom-logic
      - unlinked
      - invalid-option
      - is-artifact
      title: ValidationSource
    type_records:ValidationType:
      type: string
      enum:
      - error
      - warn
      - info
      title: ValidationType
    type_commons:RecordId:
      type: string
      description: Record ID
      title: RecordId
    type_commons:SearchValue:
      type: string
      description: Search for the given value, returning matching rows. For exact matches, wrap the value in double quotes ("Bob"). To search for null values, send empty double quotes ("")
      title: SearchValue
    type_commons:SheetId:
      type: string
      description: Sheet ID
      title: SheetId
    type_commons:Filter:
      type: string
      enum:
      - valid
      - error
      - all
      - none
      description: Options to filter records
      title: Filter
    type_commons:Error:
      type: object
      properties:
        key:
          type: string
        message:
          type: string
      required:
      - message
      title: Error
    type_records:RecordsWithLinks:
      type: array
      items:
        $ref: '#/components/schemas/type_records:RecordWithLinks'
      description: List of Record objects, including links to related rows
      title: RecordsWithLinks
    type_records:GetRecordsResponseData:
      type: object
      properties:
        success:
          type: boolean
        records:
          $ref: '#/components/schemas/type_records:RecordsWithLinks'
        counts:
          $ref: '#/components/schemas/type_records:RecordCounts'
        versionId:
          $ref: '#/components/schemas/type_commons:VersionId'
          description: Deprecated, use `commitId` instead.
        commitId:
          $ref: '#/components/schemas/type_commons:CommitId'
      required:
      - success
      - records
      description: A list of records with optional record counts
      title: GetRecordsResponseData
    type_commons:SuccessData:
      type: object
      properties:
        success:
          type: boolean
      required:
      - success
      title: SuccessData
    type_records:RecordsResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/type_records:RecordsResponseData'
      required:
      - data
      title: RecordsResponse
    type_records:RecordIndices:
      type: object
      properties:
        id:
          type: string
        index:
          type: integer
      required:
      - id
      - index
      description: A record index object
      title: RecordIndices
    type_versions:Version:
      type: object
      properties:
        versionId:
          $ref: '#/components/schemas/type_commons:VersionId'
      required:
      - versionId
      title: Version
    type_commons:SearchField:
      type: string
      description: Use this to narrow the searchValue results to a specific field
      title: SearchField
    type_records:RecordsResponseData:
      type: object
      properties:
        success:
          type: boolean
        records:
          $ref: '#/components/schemas/type_records:RecordsWithLinks'
        counts:
          $ref: '#/components/schemas/type_records:RecordCounts'
        versionId:
          $ref: '#/components/schemas/type_commons:VersionId'
          description: Deprecated, use `commitId` instead.
        commitId:
          $ref: '#/components/schemas/type_commons:CommitId'
      required:
      - success
      title: RecordsResponseData
    type_commons:Errors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/type_commons:Error'
      required:
      - errors
      title: Errors
    type_records:RecordWithLinks:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/type_commons:RecordId'
        values:
          $ref: '#/components/schemas/type_records:RecordDataWithLinks'
        valid:
          type: boolean
        messages:
          type: array
          items:
            $ref: '#/components/schemas/type_records:ValidationMessage'
        metadata:
          type: object
          additionalProperties:
            description: Any type
        config:
          $ref: '#/components/schemas/type_records:RecordConfig'
      required:
      - id
      - values
      description: A single row of data in a Sheet, including links to related rows
      title: RecordWithLinks
    type_commons:SortDirection:
      type: string
      enum:
      - asc
      - desc
      description: Sort direction - asc (ascending) or desc (descending)
      title: SortDirection
    type_records:Record:
      type: object
      properties:
        id:
          $ref: '#/components/schemas/type_commons:RecordId'
        versionId:
          $ref: '#/components/schemas/type_commons:VersionId'
          description: Deprecated, use `commitId` instead.
        commitId:
          $ref: '#/components/schemas/type_commons:CommitId'
        valid:
          type: boolean
          description: Auto-generated value based on whether the record contains a field with an error message. Cannot be set via the API.
        messages:
          type: array
          items:
            $ref: '#/components/schemas/type_records:ValidationMessage'
          description: This record level `messages` property is deprecated and no longer stored or used. Use the `messages` property on the individual cell values instead. This property will be removed in a future release.
        metadata:
          type: object
          additionalProperties:
            description: Any type
        config:
          $ref: '#/components/schemas/type_records:RecordConfig'
        values:
          $ref: '#/components/schemas/type_records:RecordData'
      required:
      - id
      - values
      description: A single row of data in a Sheet
      title: Record
    type_commons:SortField:
      type: string
      description: Name of field by which to sort records
      title: SortField
    type_records:RecordDataWithLinks:
      type: object
      additionalProperties:
        $ref: '#/components/schemas/type_records:CellValueWithLinks'
      description: A single row of data in a Sheet, including links to related rows
      title: RecordDataWithLinks
    type_versions:VersionResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/type_versions:Version'
      required:
      - data
      title: VersionResponse
    type_records:FieldRecordCounts:
      type: object
      properties:
        total:
          type: integer
        valid:
          type: integer
        error:
          type: integer
        empty:
          type: integer
      required:
      - total
      - valid
      - error
      - empty
      title: FieldRecordCounts
    type_records:ValidationMessage:
      type: object
      properties:
        field:
          type: string
        type:
          $ref: '#/components/schemas/type_records:ValidationType'
        source:
          $ref: '#/components/schemas/type_records:ValidationSource'
        message:
          type: string
        path:
          $ref: '#/components/schemas/type_commons:JSONPathString'
          description: This JSONPath is based on the root of mapped cell object.
      description: Record data validation messages
      title: ValidationMessage
    type_records:RecordConfig:
      type: object
      properties:
        readonly:
          type: boolean
        fields:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/type_records:CellConfig'
        markedForDeletion:
          type: boolean
      description: Configuration of a record or specific fields in the record
      title: RecordConfig
    type_commons:JSONPathString:
      type: string
      description: A JSONPath string - https://www.rfc-editor.org/rfc/rfc9535
      title: JSONPathString
    type_records:GetRecordIndicesResponse:
      type: array
      items:
        $ref: '#/components/schemas/type_records:RecordIndices'
      title: GetRecordIndicesResponse
    type_records:CellValueUnion:
      oneOf:
      - type: string
      - type: integer
      - type: integer
        format: int64
      - type: number
        format: double
      - type: boolean
      - type: string
        format: date
      - type: string
        format: date-time
      - type: array
        items:
          type: string
      title: CellValueUnion
    type_records:RecordCounts:
      type: object
      properties:
        total:
          type: integer
        valid:
          type: integer
        error:
          type: integer
        errorsByField:
          type: object
          additionalProperties:
            type: integer
        byField:
          type: object
          additionalProperties:
            $ref: '#/components/schemas/type_records:FieldRecordCounts'
          description: Counts for valid, error, and total records grouped by field key
      required:
      - total
      - valid
      - error
      title: RecordCounts
    type_records:CellValue:
      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
      title: CellValue
    type_records:Records:
      type: array
      items:
        $ref: '#/components/schemas/type_records:Record'
      description: List of Record objects
      title: Records
    type_commons:VersionId:
      type: string
      description: Version ID
      title: VersionId
  securitySchemes:
    default:
      type: http
      scheme: bearer