client.deployment.licenseStatus() -> DeploymentLicenseStatusResponse
-
-
-
client.deployment().licenseStatus();
-
-
client.doc.head(docId) -> DocHead200Response
-
-
-
client.doc().head( "docId", HeadDocRequest .builder() .build() );
-
-
-
docId:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.download(docId, layerName) -> InputStream
-
-
-
client.doc().download( "docId", "layerName", DownloadDocRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.manifest(docId, layerName) -> DocManifest200Response
-
-
-
client.doc().manifest( "docId", "layerName", ManifestDocRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.render(docId, layerName, pon) -> InputStream
-
-
-
Render parameters (viewport, format) pass as flat dotted query keys, e.g.
?viewport.kind=width&viewport.width=800; the full grammar is documented with the viewer.
-
-
-
client.doc().render( "docId", "layerName", 1, RenderDocRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
pon:
Integer
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.text(docId, layerName, pon) -> DocText200Response
-
-
-
client.doc().text( "docId", "layerName", 1, TextDocRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
pon:
Integer
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.shares.exchange(request) -> SharesExchange200Response
-
-
-
Unauthenticated, but requires a browser Origin header, checked against the grant allowlist. Unknown, revoked, and disabled tokens are indistinguishable (404). Passphrase-protected grants return 422 SharePasswordRequired until
passwordis supplied. Mounted only when the deployment can sign (HS256 mode).
-
-
-
client.shares().exchange( SharesExchangeRequest .builder() .shareToken("shareToken") .build() );
-
-
-
shareToken:
String
-
password:
Optional<String>
-
-
client.shares.list(tenantId) -> SharesList200Response
-
-
-
client.shares().list( "tenantId", ListSharesRequest .builder() .build() );
-
-
-
tenantId:
String
-
limit:
Optional<Integer>
-
cursor:
Optional<String>
-
docId:
Optional<String>
-
-
client.shares.create(tenantId, request) -> SharesCreate200Response
-
-
-
The returned share id IS the public share token. Mounted only when the deployment can sign (HS256 mode) — exchange mints session JWTs, so grants exist only where minting does.
-
-
-
client.shares().create( "tenantId", SharesCreateRequest .builder() .docId("docId") .scope( Arrays.asList("scope") ) .build() );
-
-
-
tenantId:
String
-
docId:
String
-
layerName:
Optional<String>
-
scope:
List<String>
-
origins:
Optional<List<String>>
-
password:
Optional<String>
-
sessionTtlSeconds:
Optional<Integer>
-
expiresAt:
Optional<Integer>
-
-
client.shares.get(tenantId, shareId) -> SharesGet200Response
-
-
-
client.shares().get( "tenantId", "shareId", GetSharesRequest .builder() .build() );
-
-
-
tenantId:
String
-
shareId:
String
-
-
client.shares.delete(tenantId, shareId)
-
-
-
client.shares().delete( "tenantId", "shareId", DeleteSharesRequest .builder() .build() );
-
-
-
tenantId:
String
-
shareId:
String
-
-
client.shares.update(tenantId, shareId, request) -> SharesUpdate200Response
-
-
-
client.shares().update( "tenantId", "shareId", SharesUpdateRequest .builder() .build() );
-
-
-
tenantId:
String
-
shareId:
String
-
scope:
Optional<List<String>>
-
origins:
Optional<List<String>>
-
password:
Optional<String>
-
sessionTtlSeconds:
Optional<Integer>
-
disabled:
Optional<Boolean>
-
expiresAt:
Optional<Integer>
-
-
client.tenants.list() -> TenantsList200Response
-
-
-
client.tenants().list( ListTenantsRequest .builder() .build() );
-
-
-
limit:
Optional<Integer>
-
cursor:
Optional<String>
-
-
client.tenants.create(request) -> TenantsCreate200Response
-
-
-
client.tenants().create( TenantsCreateRequest .builder() .id("id") .build() );
-
-
-
id:
String
-
name:
Optional<String>
-
-
client.tenants.get(tenantId) -> TenantsGet200Response
-
-
-
client.tenants().get( "tenantId", GetTenantsRequest .builder() .build() );
-
-
-
tenantId:
String
-
-
client.tenants.delete(tenantId)
-
-
-
Destroys the tenant and everything in its namespace — documents, layers, stored bytes, audit history. Irreversible.
-
-
-
client.tenants().delete( "tenantId", DeleteTenantsRequest .builder() .build() );
-
-
-
tenantId:
String
-
-
client.tenants.resume(tenantId)
-
-
-
client.tenants().resume( "tenantId", ResumeTenantsRequest .builder() .build() );
-
-
-
tenantId:
String
-
-
client.tenants.suspend(tenantId, request)
-
-
-
Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted.
-
-
-
client.tenants().suspend( "tenantId", TenantsSuspendRequest .builder() .build() );
-
-
-
tenantId:
String
-
reason:
Optional<String>
-
-
client.tenants.usage(tenantId) -> TenantsUsage200Response
-
-
-
Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two.
-
-
-
client.tenants().usage( "tenantId", UsageTenantsRequest .builder() .build() );
-
-
-
tenantId:
String
-
period:
Optional<String>
-
-
client.documents.list(tenantId) -> DocumentsList200Response
-
-
-
client.documents().list( "tenantId", ListDocumentsRequest .builder() .build() );
-
-
-
tenantId:
String
-
limit:
Optional<Integer>
-
cursor:
Optional<String>
-
state:
Optional<ListDocumentsRequestState>
-
-
client.documents.get(tenantId, id) -> DocumentsGet200Response
-
-
-
client.documents().get( "tenantId", "id", GetDocumentsRequest .builder() .build() );
-
-
-
tenantId:
String
-
id:
String
-
-
client.documents.delete(tenantId, id)
-
-
-
client.documents().delete( "tenantId", "id", DeleteDocumentsRequest .builder() .build() );
-
-
-
tenantId:
String
-
id:
String
-
-
client.documents.commit(tenantId, id, request) -> DocumentsCommit200Response
-
-
-
client.documents().commit( "tenantId", "id", DocumentsCommitRequest .builder() .sha256("sha256") .build() );
-
-
-
tenantId:
String
-
id:
String
-
sha256:
String
-
-
client.documents.download(tenantId, id) -> InputStream
-
-
-
client.documents().download( "tenantId", "id", DownloadDocumentsRequest .builder() .build() );
-
-
-
tenantId:
String
-
id:
String
-
-
client.documents.thumbnail(tenantId, id) -> InputStream
-
-
-
client.documents().thumbnail( "tenantId", "id", ThumbnailDocumentsRequest .builder() .build() );
-
-
-
tenantId:
String
-
id:
String
-
-
client.documents.uploadProxy(tenantId, id, request) -> DocumentsUploadProxy200Response
-
-
-
This bounded origin-mediated fallback must only be used after documents.init returns upload.kind=proxy. Auto mode prefers a presigned object-store PUT whenever available.
-
-
-
client.documents().uploadProxy( "tenantId", "id", null, UploadProxyDocumentsRequest .builder() .build() );
-
-
-
tenantId:
String
-
id:
String
-
-
client.documents.importFrom(tenantId, request) -> DocumentsImportFrom200Response
-
-
-
Default mode is synchronous and bounded: the response returns only after the transfer verified and committed (or failed). mode=async (connection sources only) answers 202 immediately and an in-process worker performs the transfer with leased, fenced retries; poll the document until ready/failed. The deployment import policy gates scheme, network range, and size; sources must declare a length. CloudPDF copies and owns the bytes — the source is never referenced in place. A 502 marks a retryable upstream failure: retry with the same idempotencyKey to resume the same document. URL sources are capabilities and never echoed back. Connection sources name operator-registered storage (bucket/prefix scope, allowed credential classes, and tenant bindings are deployment configuration);
revisionis provider-interpreted (S3 VersionId, GCS generation, Azure version id).
-
-
-
client.documents().importFrom( "tenantId", DocumentsImportFromRequest .builder() .source( DocumentsImportFromRequestSource.url( DocumentsImportFromRequestSourceUrl .builder() .url("url") .build() ) ) .build() );
-
-
-
tenantId:
String
-
source:
DocumentsImportFromRequestSource
-
expected:
Optional<DocumentsImportFromRequestExpected>
-
metadata:
Optional<Map<String, Object>>
-
idempotencyKey:
Optional<String>
-
dedupMode:
Optional<DocumentsImportFromRequestDedupMode>
-
docId:
Optional<String>
-
mode:
Optional<DocumentsImportFromRequestMode>
-
-
client.documents.init(tenantId, request) -> DocumentsInit200Response
-
-
-
client.documents().init( "tenantId", DocumentsInitRequest .builder() .contentLength(1.1) .contentSha256("contentSha256") .build() );
-
-
-
tenantId:
String
-
contentLength:
Double
-
contentSha256:
String
-
metadata:
Optional<Map<String, Object>>
-
idempotencyKey:
Optional<String>
-
dedupMode:
Optional<DocumentsInitRequestDedupMode>
-
docId:
Optional<String>
-
uploadTtlSec:
Optional<Double>
-
uploadPreference:
Optional<DocumentsInitRequestUploadPreference>
-
-
client.tokens.issue(tenantId, request) -> TokensIssue200Response
-
-
-
kind "tenant" requires the API token — authority mints only downward. Mounted only when the deployment can sign (HS256 mode); asymmetric deployments mint with their own private key.
-
-
-
client.tokens().issue( "tenantId", IssueTokensRequest .builder() .body( TokensIssueRequest.doc( TokensIssueRequestDoc .builder() .sub("sub") .docId("docId") .expiresIn(1) .scope( Arrays.asList("scope") ) .build() ) ) .build() );
-
-
-
tenantId:
String
-
request:
TokensIssueRequest
-
-
client.tokens.revoke(tenantId, jti, request)
-
-
-
Mounted only when the deployment enables token revocation.
-
-
-
client.tokens().revoke( "tenantId", "jti", TokensRevokeRequest .builder() .build() );
-
-
-
tenantId:
String
-
jti:
String
-
reason:
Optional<String>
-
expiresAtSeconds:
Optional<Integer>
-
-
client.doc.annotations.list(docId, layerName, pon) -> DocAnnotationsList200Response
-
-
-
client.doc().annotations().list( "docId", "layerName", 1, ListAnnotationsRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
pon:
Integer
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.annotations.create(docId, layerName, pon, request) -> DocAnnotationsCreate200Response
-
-
-
Doc JWTs may instead carry collab scopes (annotations:create:self, …) that refine per-annotation authorship rules; the API token is exempt from both.
-
-
-
client.doc().annotations().create( "docId", "layerName", 1, CreateAnnotationsRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
pon:
Integer
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-
client.doc.annotations.delete(docId, layerName, pon, annotKey) -> DocAnnotationsDelete200Response
-
-
-
client.doc().annotations().delete( "docId", "layerName", 1, "annotKey", DeleteAnnotationsRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
pon:
Integer
-
annotKey:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.annotations.update(docId, layerName, pon, annotKey, request) -> DocAnnotationsUpdate200Response
-
-
-
client.doc().annotations().update( "docId", "layerName", 1, "annotKey", UpdateAnnotationsRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
pon:
Integer
-
annotKey:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-
client.doc.forms.get(docId, layerName) -> DocFormsGet200Response
-
-
-
client.doc().forms().get( "docId", "layerName", GetFormsRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.forms.exportData(docId, layerName) -> InputStream
-
-
-
client.doc().forms().exportData( "docId", "layerName", ExportDataFormsRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
format:
Optional<ExportDataFormsRequestFormat>
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.forms.importData(docId, layerName, request) -> DocFormsImportData200Response
-
-
-
client.doc().forms().importData( "docId", "layerName", ImportDataFormsRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-
client.doc.forms.reset(docId, layerName, fieldKey) -> DocFormsReset200Response
-
-
-
client.doc().forms().reset( "docId", "layerName", "fieldKey", ResetFormsRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
fieldKey:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.forms.setValue(docId, layerName, fieldKey, request) -> DocFormsSetValue200Response
-
-
-
client.doc().forms().setValue( "docId", "layerName", "fieldKey", SetValueFormsRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
fieldKey:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-
client.doc.metadata.get(docId, layerName) -> DocMetadataGet200Response
-
-
-
client.doc().metadata().get( "docId", "layerName", GetMetadataRequest .builder() .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
-
client.doc.pages.delete(docId, layerName, request) -> DocPagesDelete200Response
-
-
-
client.doc().pages().delete( "docId", "layerName", DeletePagesRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-
client.doc.pages.flatten(docId, layerName, request) -> DocPagesFlatten200Response
-
-
-
client.doc().pages().flatten( "docId", "layerName", FlattenPagesRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-
client.doc.pages.move(docId, layerName, request) -> DocPagesMove200Response
-
-
-
client.doc().pages().move( "docId", "layerName", MovePagesRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-
client.doc.pages.rotate(docId, layerName, request) -> DocPagesRotate200Response
-
-
-
client.doc().pages().rotate( "docId", "layerName", RotatePagesRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-
client.doc.redactions.apply(docId, layerName, request) -> DocRedactionsApply200Response
-
-
-
client.doc().redactions().apply( "docId", "layerName", ApplyRedactionsRequest .builder() .body( new HashMap<String, Object>() {{ put("key", "value"); }} ) .build() );
-
-
-
docId:
String
-
layerName:
String
-
documentPassword:
Optional<String>— Base64-encoded password for an encrypted document. Valid only with the API token (403 anywhere else). An encrypted document answers 422 DocPasswordRequired when the header is absent. Viewer doc JWTs use the SDK password-session flow instead.
-
request:
Map<String, Object>
-
-