Skip to content
Get started

Upload a file

client.Files.Upload(ctx, body) (*File, error)
POST/v1/files

Upload an Excel spreadsheet file for later processing.

Supported formats:

  • Excel (.xlsx)

Maximum file size: 100 MB

ParametersExpand Collapse
body FileUploadParams
File param.Field[Reader]

The spreadsheet file to upload

ReturnsExpand Collapse
type File struct{…}

Response representing an uploaded file.

This is returned from POST (upload), GET (retrieve), and list endpoints.

ID string

The unique identifier for this file.

ContentType string

The MIME type of the file.

maxLength255
CreatedAt Time

The timestamp when the file was uploaded.

formatdate-time
FileName string

The original filename of the uploaded file.

maxLength255
Object File

The object type, which is always 'file'.

Size int64

The size of the file in bytes.

minimum0

Upload a file

package main

import (
  "bytes"
  "context"
  "fmt"
  "io"

  "github.com/deeptable-com/deeptable-go"
  "github.com/deeptable-com/deeptable-go/option"
)

func main() {
  client := deeptable.NewClient(
    option.WithAPIKey("My API Key"),
  )
  file, err := client.Files.Upload(context.TODO(), deeptable.FileUploadParams{
    File: io.Reader(bytes.NewBuffer([]byte("Example data"))),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", file.ID)
}
{
  "id": "file_01kfxgjd94fn9stqm414vjb0s8",
  "content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
  "created_at": "2024-01-15T10:30:00Z",
  "file_name": "financial_report.xlsx",
  "object": "file",
  "size": 1048576
}
Returns Examples
{
  "id": "file_01kfxgjd94fn9stqm414vjb0s8",
  "content_type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
  "created_at": "2024-01-15T10:30:00Z",
  "file_name": "financial_report.xlsx",
  "object": "file",
  "size": 1048576
}