Complete a presigned upload
client.Files.Complete(ctx, fileID) (*File, error)
POST/files/{file_id}/complete
Finalize a presigned upload after you have PUT the bytes to the upload URL. Kicks off ingest/moderation and returns the file, which transitions to ready (or failed) asynchronously — poll GET /files/{file_id} to observe the terminal state.
Complete a presigned upload
package main
import ( "context" "fmt"
"github.com/lumalabs/luma-agents-go" "github.com/lumalabs/luma-agents-go/option")
func main() { client := lumaagents.NewClient( option.WithAuthToken("My Auth Token"), ) file, err := client.Files.Complete(context.TODO(), "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e") if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", file.ID)}200 example
{ "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "mime_type": "mime_type", "purpose": "input", "size_bytes": 0, "state": "pending", "deleted_at": "2019-12-27T18:11:19.117Z", "expires_at": "2019-12-27T18:11:19.117Z", "failure_reason": "failure_reason", "filename": "filename", "user_id": "user_id"}Returns Examples
200 example
{ "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e", "created_at": "2019-12-27T18:11:19.117Z", "mime_type": "mime_type", "purpose": "input", "size_bytes": 0, "state": "pending", "deleted_at": "2019-12-27T18:11:19.117Z", "expires_at": "2019-12-27T18:11:19.117Z", "failure_reason": "failure_reason", "filename": "filename", "user_id": "user_id"}