Files
Complete File Upload
Complete a file upload.
Scopes: files:write
POST
/
v1
/
files
/
{id}
/
uploaded
Go (SDK)
package main
import(
"context"
"os"
polargo "github.com/polarsource/polar-go"
"github.com/polarsource/polar-go/models/components"
"log"
"github.com/polarsource/polar-go/models/operations"
)
func main() {
ctx := context.Background()
s := polargo.New(
polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
)
res, err := s.Files.Uploaded(ctx, "<value>", components.FileUploadCompleted{
ID: "<id>",
Path: "/boot",
Parts: []components.S3FileUploadCompletedPart{
components.S3FileUploadCompletedPart{
Number: 979613,
ChecksumEtag: "<value>",
ChecksumSha256Base64: polargo.Pointer("<value>"),
},
components.S3FileUploadCompletedPart{
Number: 979613,
ChecksumEtag: "<value>",
ChecksumSha256Base64: polargo.Pointer("<value>"),
},
components.S3FileUploadCompletedPart{
Number: 979613,
ChecksumEtag: "<value>",
ChecksumSha256Base64: polargo.Pointer("<value>"),
},
},
})
if err != nil {
log.Fatal(err)
}
if res.ResponseFilesUploaded != nil {
switch res.ResponseFilesUploaded.Type {
case operations.FilesUploadedResponseFilesUploadedTypeDownloadable:
// res.ResponseFilesUploaded.DownloadableFileRead is populated
case operations.FilesUploadedResponseFilesUploadedTypeProductMedia:
// res.ResponseFilesUploaded.ProductMediaFileRead is populated
case operations.FilesUploadedResponseFilesUploadedTypeOrganizationAvatar:
// res.ResponseFilesUploaded.OrganizationAvatarFileRead is populated
}
}
}from polar_sdk import Polar
with Polar(
access_token="<YOUR_BEARER_TOKEN_HERE>",
) as polar:
res = polar.files.uploaded(id="<value>", file_upload_completed={
"id": "<id>",
"path": "/boot",
"parts": [
{
"number": 979613,
"checksum_etag": "<value>",
"checksum_sha256_base64": "<value>",
},
],
})
# Handle response
print(res)import { Polar } from "@polar-sh/sdk";
const polar = new Polar({
accessToken: process.env["POLAR_ACCESS_TOKEN"] ?? "",
});
async function run() {
const result = await polar.files.uploaded({
id: "<value>",
fileUploadCompleted: {
id: "<id>",
path: "/boot",
parts: [
{
number: 979613,
checksumEtag: "<value>",
checksumSha256Base64: "<value>",
},
{
number: 979613,
checksumEtag: "<value>",
checksumSha256Base64: "<value>",
},
{
number: 979613,
checksumEtag: "<value>",
checksumSha256Base64: "<value>",
},
],
},
});
console.log(result);
}
run();declare(strict_types=1);
require 'vendor/autoload.php';
use Polar;
use Polar\Models\Components;
$sdk = Polar\Polar::builder()
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$fileUploadCompleted = new Components\FileUploadCompleted(
id: '<id>',
path: '/boot',
parts: [
new Components\S3FileUploadCompletedPart(
number: 979613,
checksumEtag: '<value>',
checksumSha256Base64: '<value>',
),
new Components\S3FileUploadCompletedPart(
number: 979613,
checksumEtag: '<value>',
checksumSha256Base64: '<value>',
),
new Components\S3FileUploadCompletedPart(
number: 979613,
checksumEtag: '<value>',
checksumSha256Base64: '<value>',
),
],
);
$response = $sdk->files->uploaded(
id: '<value>',
fileUploadCompleted: $fileUploadCompleted
);
if ($response->responseFilesUploaded !== null) {
// handle response
}curl --request POST \
--url https://api.polar.sh/v1/files/{id}/uploaded \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "<string>",
"path": "<string>",
"parts": [
{
"number": 123,
"checksum_etag": "<string>",
"checksum_sha256_base64": "<string>"
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '<string>',
path: '<string>',
parts: [{number: 123, checksum_etag: '<string>', checksum_sha256_base64: '<string>'}]
})
};
fetch('https://api.polar.sh/v1/files/{id}/uploaded', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.polar.sh/v1/files/{id}/uploaded")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"path\": \"<string>\",\n \"parts\": [\n {\n \"number\": 123,\n \"checksum_etag\": \"<string>\",\n \"checksum_sha256_base64\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polar.sh/v1/files/{id}/uploaded")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"path\": \"<string>\",\n \"parts\": [\n {\n \"number\": 123,\n \"checksum_etag\": \"<string>\",\n \"checksum_sha256_base64\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"organization_id": "<string>",
"name": "<string>",
"path": "<string>",
"mime_type": "<string>",
"size": 123,
"storage_version": "<string>",
"checksum_etag": "<string>",
"checksum_sha256_base64": "<string>",
"checksum_sha256_hex": "<string>",
"last_modified_at": "2023-11-07T05:31:56Z",
"version": "<string>",
"service": "<string>",
"is_uploaded": true,
"created_at": "2023-11-07T05:31:56Z",
"size_readable": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
You can generate an Organization Access Token from your organization's settings.
Path Parameters
The file ID.
Body
application/json
Response
File upload completed.
- DownloadableFileRead
- ProductMediaFileRead
- OrganizationAvatarFileRead
File to be associated with the downloadables benefit.
The ID of the object.
Allowed value:
"downloadable"Was this page helpful?
Previous
Get OrganizationGet an organization by ID.
**Scopes**: `organizations:read` `organizations:write`
Next
⌘I
Go (SDK)
package main
import(
"context"
"os"
polargo "github.com/polarsource/polar-go"
"github.com/polarsource/polar-go/models/components"
"log"
"github.com/polarsource/polar-go/models/operations"
)
func main() {
ctx := context.Background()
s := polargo.New(
polargo.WithSecurity(os.Getenv("POLAR_ACCESS_TOKEN")),
)
res, err := s.Files.Uploaded(ctx, "<value>", components.FileUploadCompleted{
ID: "<id>",
Path: "/boot",
Parts: []components.S3FileUploadCompletedPart{
components.S3FileUploadCompletedPart{
Number: 979613,
ChecksumEtag: "<value>",
ChecksumSha256Base64: polargo.Pointer("<value>"),
},
components.S3FileUploadCompletedPart{
Number: 979613,
ChecksumEtag: "<value>",
ChecksumSha256Base64: polargo.Pointer("<value>"),
},
components.S3FileUploadCompletedPart{
Number: 979613,
ChecksumEtag: "<value>",
ChecksumSha256Base64: polargo.Pointer("<value>"),
},
},
})
if err != nil {
log.Fatal(err)
}
if res.ResponseFilesUploaded != nil {
switch res.ResponseFilesUploaded.Type {
case operations.FilesUploadedResponseFilesUploadedTypeDownloadable:
// res.ResponseFilesUploaded.DownloadableFileRead is populated
case operations.FilesUploadedResponseFilesUploadedTypeProductMedia:
// res.ResponseFilesUploaded.ProductMediaFileRead is populated
case operations.FilesUploadedResponseFilesUploadedTypeOrganizationAvatar:
// res.ResponseFilesUploaded.OrganizationAvatarFileRead is populated
}
}
}from polar_sdk import Polar
with Polar(
access_token="<YOUR_BEARER_TOKEN_HERE>",
) as polar:
res = polar.files.uploaded(id="<value>", file_upload_completed={
"id": "<id>",
"path": "/boot",
"parts": [
{
"number": 979613,
"checksum_etag": "<value>",
"checksum_sha256_base64": "<value>",
},
],
})
# Handle response
print(res)import { Polar } from "@polar-sh/sdk";
const polar = new Polar({
accessToken: process.env["POLAR_ACCESS_TOKEN"] ?? "",
});
async function run() {
const result = await polar.files.uploaded({
id: "<value>",
fileUploadCompleted: {
id: "<id>",
path: "/boot",
parts: [
{
number: 979613,
checksumEtag: "<value>",
checksumSha256Base64: "<value>",
},
{
number: 979613,
checksumEtag: "<value>",
checksumSha256Base64: "<value>",
},
{
number: 979613,
checksumEtag: "<value>",
checksumSha256Base64: "<value>",
},
],
},
});
console.log(result);
}
run();declare(strict_types=1);
require 'vendor/autoload.php';
use Polar;
use Polar\Models\Components;
$sdk = Polar\Polar::builder()
->setSecurity(
'<YOUR_BEARER_TOKEN_HERE>'
)
->build();
$fileUploadCompleted = new Components\FileUploadCompleted(
id: '<id>',
path: '/boot',
parts: [
new Components\S3FileUploadCompletedPart(
number: 979613,
checksumEtag: '<value>',
checksumSha256Base64: '<value>',
),
new Components\S3FileUploadCompletedPart(
number: 979613,
checksumEtag: '<value>',
checksumSha256Base64: '<value>',
),
new Components\S3FileUploadCompletedPart(
number: 979613,
checksumEtag: '<value>',
checksumSha256Base64: '<value>',
),
],
);
$response = $sdk->files->uploaded(
id: '<value>',
fileUploadCompleted: $fileUploadCompleted
);
if ($response->responseFilesUploaded !== null) {
// handle response
}curl --request POST \
--url https://api.polar.sh/v1/files/{id}/uploaded \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "<string>",
"path": "<string>",
"parts": [
{
"number": 123,
"checksum_etag": "<string>",
"checksum_sha256_base64": "<string>"
}
]
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '<string>',
path: '<string>',
parts: [{number: 123, checksum_etag: '<string>', checksum_sha256_base64: '<string>'}]
})
};
fetch('https://api.polar.sh/v1/files/{id}/uploaded', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));HttpResponse<String> response = Unirest.post("https://api.polar.sh/v1/files/{id}/uploaded")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"path\": \"<string>\",\n \"parts\": [\n {\n \"number\": 123,\n \"checksum_etag\": \"<string>\",\n \"checksum_sha256_base64\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.polar.sh/v1/files/{id}/uploaded")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"path\": \"<string>\",\n \"parts\": [\n {\n \"number\": 123,\n \"checksum_etag\": \"<string>\",\n \"checksum_sha256_base64\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"organization_id": "<string>",
"name": "<string>",
"path": "<string>",
"mime_type": "<string>",
"size": 123,
"storage_version": "<string>",
"checksum_etag": "<string>",
"checksum_sha256_base64": "<string>",
"checksum_sha256_hex": "<string>",
"last_modified_at": "2023-11-07T05:31:56Z",
"version": "<string>",
"service": "<string>",
"is_uploaded": true,
"created_at": "2023-11-07T05:31:56Z",
"size_readable": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}{
"error": "<string>",
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}
