Skip to main content
Methods: client.Files.FilesPost() (upload), client.Files.FilesGet() (list), client.Files.FilesFileIdGet() (get).

Example

import (
    "context"
    "fmt"
    "log"
    "os"

    aistats "packages/sdk-go"
)

ctx := context.Background()
client := aistats.New("your-api-key", "https://api.ai-stats.dev")

// Upload a file
file, err := os.Open("data.json")
if err != nil {
    log.Fatal(err)
}
defer file.Close()

uploaded, _, err := client.Files.FilesPost(ctx).Purpose("batch").File(file).Execute()
if err != nil {
    log.Fatal(err)
}
fmt.Println("Uploaded file:", uploaded.Id)

// List files
files, _, err := client.Files.FilesGet(ctx).Execute()
if err != nil {
    log.Fatal(err)
}
fmt.Println("Files:", len(files.Data))

// Get a file
fileObj, _, err := client.Files.FilesFileIdGet(ctx, uploaded.Id).Execute()
if err != nil {
    log.Fatal(err)
}
fmt.Println("File:", fileObj.Filename)

Key parameters

  • file (required for upload): *os.File.
  • purpose (required for upload): e.g., batch.

Returns

FileObject (upload/get) or FileListResponse (list)