## Retry a signed asset upload `client.Assets.Retry(ctx, assetID) (*AssetRetryResponse, error)` **post** `/assets/{assetId}/retry` Creates a fresh signed upload reservation for a failed or expired asset upload. Mutating public API requests support an optional Idempotency-Key header for client retries; duplicate keys within two hours return idempotency_duplicate. ### Parameters - `assetID string` Asset identifier ### Returns - `type AssetRetryResponse struct{…}` - `AssetID string` Asset identifier - `Status AssetRetryResponseStatus` - `const AssetRetryResponseStatusPendingUpload AssetRetryResponseStatus = "pending_upload"` - `const AssetRetryResponseStatusReady AssetRetryResponseStatus = "ready"` - `const AssetRetryResponseStatusFailed AssetRetryResponseStatus = "failed"` - `URL string` Asset URL - `Visibility Workspace` - `const WorkspaceWorkspace Workspace = "workspace"` - `WorkspaceID string` Workspace identifier - `ExpiresAt Time` Expiration time for the upload URL - `FailureMessage string` Failure message when the asset is in failed status - `Upload AssetRetryResponseUpload` - `ContentType MultipartFormData` - `const MultipartFormDataMultipartFormData MultipartFormData = "multipart/form-data"` - `FileField File` - `const FileFile File = "file"` - `FormFields map[string, string]` Upload form fields - `Method Post` - `const PostPost Post = "POST"` - `URL string` Upload URL - `UploadURL string` Upload URL (serialized) ### Example ```go package main import ( "context" "fmt" "github.com/florafauna-ai/flora-go" "github.com/florafauna-ai/flora-go/option" ) func main() { client := flora.NewClient( option.WithAPIKey("My API Key"), ) response, err := client.Assets.Retry(context.TODO(), "asset_abc123") if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response.AssetID) } ``` #### Response ```json { "asset_id": "asset_abc123", "status": "pending_upload", "url": "https://example.com", "visibility": "workspace", "workspace_id": "ws_abc123", "expires_at": "2019-12-27T18:11:19.117Z", "failure_message": "failure_message", "upload": { "content_type": "multipart/form-data", "file_field": "file", "form_fields": { "foo": "string" }, "method": "POST", "url": "https://example.com" }, "upload_url": "https://upload.imagekit.io/api/v1/files/upload" } ```