openapi: 3.1.0 info: title: API Reference subpackage_accounts subpackage_files API version: 1.0.0 servers: - url: https://api.x.flatfile.com/v1 tags: - name: subpackage_files paths: /files: get: operationId: list summary: List files tags: - subpackage_files parameters: - name: spaceId in: query required: false schema: type: string - name: pageSize in: query description: Number of files to return in a page (default 20) required: false schema: type: integer - name: pageNumber in: query description: Based on pageSize, which page of files to return required: false schema: type: integer - name: mode in: query description: The storage mode of file to fetch, defaults to "import" required: false schema: $ref: '#/components/schemas/type_files:Mode' - 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_files:ListFilesResponse' post: operationId: upload summary: Upload a file tags: - subpackage_files 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_files:FileResponse' '400': description: Error response with status 400 content: application/json: schema: $ref: '#/components/schemas/type_commons:Errors' requestBody: content: multipart/form-data: schema: type: object properties: spaceId: $ref: '#/components/schemas/type_commons:SpaceId' environmentId: $ref: '#/components/schemas/type_commons:EnvironmentId' mode: $ref: '#/components/schemas/type_files:Mode' description: The storage mode of file to insert, defaults to "import" file: type: string format: binary description: A binary payload containing the file contents actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: The actions attached to the file origin: $ref: '#/components/schemas/type_files:FileOrigin' description: The origin of the file, ie filesystem required: - spaceId - environmentId - file /files/{fileId}: get: operationId: get summary: Get a file tags: - subpackage_files parameters: - name: fileId in: path required: true 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_files:FileResponse' '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 summary: Delete a file tags: - subpackage_files parameters: - name: fileId in: path required: true 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_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' patch: operationId: update summary: Update a file description: Update a file, to change the workbook id for example tags: - subpackage_files parameters: - name: fileId in: path description: ID of file to update required: true 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_files:FileResponse' '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: workbookId: $ref: '#/components/schemas/type_commons:WorkbookId' name: type: string description: The name of the file mode: $ref: '#/components/schemas/type_files:Mode' description: The storage mode of file to update status: $ref: '#/components/schemas/type_files:ModelFileStatusEnum' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' description: The actions attached to the file /files/{fileId}/download: get: operationId: download summary: Download a file tags: - subpackage_files parameters: - name: fileId in: path required: true schema: $ref: '#/components/schemas/type_commons:FileId' - 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/octet-stream: schema: type: string format: binary '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' /files/{fileId}/clone: post: operationId: clone summary: Clone a file tags: - subpackage_files parameters: - name: fileId in: path required: true schema: $ref: '#/components/schemas/type_commons:FileId' - 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_files:FileResponse' '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: prefix: type: string description: The prefix for the cloned file (defaults to original name with "Copy of " prefix) /files/detect-header: post: operationId: detect-header summary: Detect header tags: - subpackage_files 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_files:DetectHeaderResponse' '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: options: $ref: '#/components/schemas/type_files:HeaderDetectionOptions' data: type: array items: type: array items: type: string required: - options - data components: schemas: 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_files:ModelFileStatusEnum: type: string enum: - partial - analyzing - analyzed - complete - archived - purged - failed description: 'Status of the file. Partial: File is uploaded but not yet processed. Analyzing: Smart Extract is running. Analyzed: Smart Extract has finished running. Complete: File has been extracted and is ready to be used. Archived: File has been archived. Purged: File has been purged. Failed: File has failed to be extracted.' title: ModelFileStatusEnum type_commons:Guide: type: object properties: content: type: string description: Markdown guidance for this action required: - content title: Guide type_commons:InputConstraintType: type: string enum: - required title: InputConstraintType type_files:DetectHeaderResponse: type: object properties: data: $ref: '#/components/schemas/type_files:HeaderDetectionResult' required: - data title: DetectHeaderResponse type_commons:ActionMode: type: string enum: - foreground - background - toolbarBlocking description: Foreground actions will prevent interacting with the resource until complete title: ActionMode type_files:File: type: object properties: id: $ref: '#/components/schemas/type_commons:FileId' name: type: string description: Original filename description: type: string description: Description of the file ext: type: string description: Extension of the file mimetype: type: string description: MIME Type of the file encoding: type: string description: Text encoding of the file status: $ref: '#/components/schemas/type_files:ModelFileStatusEnum' mode: $ref: '#/components/schemas/type_files:Mode' description: The storage mode of file size: type: integer description: Size of file in bytes bytesReceived: type: integer description: Number of bytes that have been uploaded so far (useful for progress tracking) createdAt: type: string format: date-time description: Date the file was created updatedAt: type: string format: date-time description: Date the file was last updated expiredAt: type: string format: date-time description: Date the file was expired spaceId: $ref: '#/components/schemas/type_commons:SpaceId' workbookId: $ref: '#/components/schemas/type_commons:WorkbookId' sheetId: $ref: '#/components/schemas/type_commons:SheetId' actions: type: array items: $ref: '#/components/schemas/type_commons:Action' origin: $ref: '#/components/schemas/type_files:FileOrigin' treatments: type: array items: $ref: '#/components/schemas/type_files:FileTreatments' required: - id - name - ext - mimetype - encoding - status - size - bytesReceived - createdAt - updatedAt - spaceId description: Any uploaded file of any type title: File type_commons:ActionSchedule: type: string enum: - weekly - daily - hourly title: ActionSchedule type_commons:WorkbookId: type: string description: Workbook ID title: WorkbookId type_commons:ActionMessageType: type: string enum: - error - info title: ActionMessageType type_commons:FileId: type: string description: File ID title: FileId type_commons:SheetId: type: string description: Sheet ID title: SheetId type_commons:ActionId: type: string description: Action ID title: ActionId type_files:HeaderDetectionOptions: type: object properties: algorithm: $ref: '#/components/schemas/type_files:HeaderDetectionAlgorithm' rowsToSearch: type: integer skip: type: integer headers: type: array items: type: string rowNumbers: type: array items: type: integer required: - algorithm title: HeaderDetectionOptions type_files:FileResponse: type: object properties: data: $ref: '#/components/schemas/type_files:File' required: - data title: FileResponse 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:EnvironmentId: type: string description: Environment ID title: EnvironmentId 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_commons:Error: type: object properties: key: type: string message: type: string required: - message title: Error type_files:HeaderDetectionAlgorithm: type: string enum: - aiDetection - default - explicitHeaders - specificRows - dataRowAndSubHeaderDetection title: HeaderDetectionAlgorithm 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_commons:Pagination: type: object properties: currentPage: type: integer description: current page of results pageCount: type: integer description: total number of pages of results totalCount: type: integer description: total available results required: - currentPage - pageCount - totalCount description: pagination info title: Pagination type_commons:Errors: type: object properties: errors: type: array items: $ref: '#/components/schemas/type_commons:Error' required: - errors title: Errors type_files:FileOrigin: type: string enum: - filesystem - googledrive - box - onedrive title: FileOrigin 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 work on primary actions. It will only accept an already existing Flatfile design system icon. requireAllValid: type: boolean description: '**This is deprecated. Use `constraints` instead.**' requireSelection: type: boolean description: '**This is deprecated. Use `constraints` instead.**' inputForm: $ref: '#/components/schemas/type_commons:InputForm' description: Adds an input form for this action after it is clicked. constraints: type: array items: $ref: '#/components/schemas/type_commons:ActionConstraint' description: A limitation or restriction on the action. mount: $ref: '#/components/schemas/type_commons:ActionMount' guide: $ref: '#/components/schemas/type_commons:Guide' guardrail: $ref: '#/components/schemas/type_commons:Guardrail' createdFrom: $ref: '#/components/schemas/type_commons:ActionId' description: The action that this action was cloned from lastPropagatedAt: type: string format: date-time description: The last time this action was propagated to a workbook deletedAt: type: string format: date-time description: The time this action was deleted invalidConditionalMessaging: type: boolean description: When enabled, shows dynamic confirmation messages based on record validation status instead of the static description validRecordsMessage: type: string description: Custom message to show when all records are valid (only used when invalidConditionalMessaging is true) invalidRecordsMessage: type: string description: Custom message to show when there are invalid records (only used when invalidConditionalMessaging is true) label: type: string description: The text on the Button itself required: - label title: Action type_commons:SpaceId: type: string description: Space ID title: SpaceId type_commons:Guardrail: type: object properties: content: type: string description: Markdown guardrail for this action required: - content title: Guardrail type_files:Mode: type: string enum: - import - export title: Mode type_files:FileTreatments: type: string enum: - IS_BASIC_FILE_SHAPE - IS_COMPLEX_FILE_SHAPE title: FileTreatments type_files:ListFilesResponse: type: object properties: pagination: $ref: '#/components/schemas/type_commons:Pagination' data: type: array items: $ref: '#/components/schemas/type_files:File' required: - data title: ListFilesResponse type_files:HeaderDetectionResult: type: object properties: header: type: array items: type: string headerRow: type: integer letters: type: array items: type: string required: - header - headerRow - letters title: HeaderDetectionResult securitySchemes: default: type: http scheme: bearer