For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get Upload Credentials

Issues temporary credentials for uploading the manifest and customer documents to the batch's private storage prefix (S3-compatible). The credentials work only inside this prefix and are valid for about 12 hours. When they expire, call this method again.

Credentials are issued only while the batch is OPEN or CHANGE_REQUESTED. After a commit, reopen the batch with Request Batch Changes to get new ones.

Endpoint

GET /v2/compliance/batch/{batch_id}/credentials

Link

Request

Path Parameters

Parameter
Type
Description
Required
Example

batch_id

string

Batch ID returned by Create Batch.

Yes

"01a0af8b-831f-7dbe-8eaf-459f81998958"

Query Parameters

Parameter
Type
Description
Required
Example

format

string

Omit (or send an empty value) for the standard response. credential_process returns the AWS credential_processdocument instead. Any other value returns 400.

No

"credential_process"

Headers

Key
Value
Required

Authorization

<JWT>

Yes

Accept

application/json

Yes

Response (200 OK)

Returns an UploadCredentialsResponse.

Response Fields

Field
Type
Description
Example

bucket

string

Storage bucket name.

"compliance-batch"

prefix

string

Your batch prefix. Upload all files under it.

"9b3f1e7a-2c44-4d8e-a1b6-7f0c9d2e5a10"

region

string

Storage region.

"eu-central-1"

credentials

object

Temporary credentials.

—

credentials.access_key_id

string

Access key ID.

"ASIA5EXAMPLE7QK4WZ3T"

credentials.secret_access_key

string

Secret access key.

"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"

credentials.session_token

string

Session token. Must be sent together with the keys.

"IQoJb3JpZ2luX2VjEJ3..."

credentials.expiration

string (date-time)

When the credentials expire.

"2026-09-28T22:15:30Z"

Example Response:

Response with format=credential_process

The body is not the schema above. It is the flat, PascalCase document that the AWS CLI and SDKs expect from a credential_process:

Client generators built from the OpenAPI file will not know this shape: OpenAPI 2.0 cannot describe two response schemas for one status code. Handle it manually, or let the AWS CLI/SDK consume it directly.


Examples

Request

Upload with the AWS CLI

Automatic refresh with credential_process


Error Responses

Errors are returned as {"code", "message", "details"}, where code is a gRPC status code. Use the HTTP status for error handling.

Invalid Format (400) — format has a value other than empty or credential_process:

Batch Not Editable (409) — the batch is CLOSED or CANCELLED:

Rewrite Failed (500) — credential_process only: the credentials could not be converted to the AWS format:

Incomplete Credentials (502) — credential_process only: the storage service returned incomplete credentials. Retry:

Batch Not Found (404) — the batch does not exist or belongs to another partner:

Authorization fail (401):


Notes

  • Scope: credentials are limited to your batch prefix. Requests outside it are denied by storage.

  • Folder structure: any structure inside the prefix is fine. File paths in the manifest are relative to the prefix and must match exactly.

  • manifest.json location: the manifest must be at the prefix root.

  • Files: PDF, JPEG or PNG (content is checked, not the extension), up to 50 MB each. Corrupted, password-protected or truncated files are rejected.

  • report.json: after the commit, a per-row report appears in the prefix. You can download it with credentials issued before the commit, while they are still valid.

  • Keep secrets safe: never log or share the secret key and session token.

Last updated