Skip to content

Latest commit

 

History

History
3436 lines (2449 loc) · 40.3 KB

File metadata and controls

3436 lines (2449 loc) · 40.3 KB

Reference

Deployment

client.deployment.licenseStatus() -> DeploymentLicenseStatusResponse

🔌 Usage

client.deployment().licenseStatus();

Doc

client.doc.head(docId) -> DocHead200Response

🔌 Usage

client.doc().head(
    "docId",
    HeadDocRequest
        .builder()
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().download(
    "docId",
    "layerName",
    DownloadDocRequest
        .builder()
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().manifest(
    "docId",
    "layerName",
    ManifestDocRequest
        .builder()
        .build()
);

⚙️ Parameters

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

📝 Description

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.

🔌 Usage

client.doc().render(
    "docId",
    "layerName",
    1,
    RenderDocRequest
        .builder()
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().text(
    "docId",
    "layerName",
    1,
    TextDocRequest
        .builder()
        .build()
);

⚙️ Parameters

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.

Shares

client.shares.exchange(request) -> SharesExchange200Response

📝 Description

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 password is supplied. Mounted only when the deployment can sign (HS256 mode).

🔌 Usage

client.shares().exchange(
    SharesExchangeRequest
        .builder()
        .shareToken("shareToken")
        .build()
);

⚙️ Parameters

shareToken: String

password: Optional<String>

client.shares.list(tenantId) -> SharesList200Response

🔌 Usage

client.shares().list(
    "tenantId",
    ListSharesRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

limit: Optional<Integer>

cursor: Optional<String>

docId: Optional<String>

client.shares.create(tenantId, request) -> SharesCreate200Response

📝 Description

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.

🔌 Usage

client.shares().create(
    "tenantId",
    SharesCreateRequest
        .builder()
        .docId("docId")
        .scope(
            Arrays.asList("scope")
        )
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.shares().get(
    "tenantId",
    "shareId",
    GetSharesRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

shareId: String

client.shares.delete(tenantId, shareId)

🔌 Usage

client.shares().delete(
    "tenantId",
    "shareId",
    DeleteSharesRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

shareId: String

client.shares.update(tenantId, shareId, request) -> SharesUpdate200Response

🔌 Usage

client.shares().update(
    "tenantId",
    "shareId",
    SharesUpdateRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

shareId: String

scope: Optional<List<String>>

origins: Optional<List<String>>

password: Optional<String>

sessionTtlSeconds: Optional<Integer>

disabled: Optional<Boolean>

expiresAt: Optional<Integer>

Tenants

client.tenants.list() -> TenantsList200Response

🔌 Usage

client.tenants().list(
    ListTenantsRequest
        .builder()
        .build()
);

⚙️ Parameters

limit: Optional<Integer>

cursor: Optional<String>

client.tenants.create(request) -> TenantsCreate200Response

🔌 Usage

client.tenants().create(
    TenantsCreateRequest
        .builder()
        .id("id")
        .build()
);

⚙️ Parameters

id: String

name: Optional<String>

client.tenants.get(tenantId) -> TenantsGet200Response

🔌 Usage

client.tenants().get(
    "tenantId",
    GetTenantsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

client.tenants.delete(tenantId)

📝 Description

Destroys the tenant and everything in its namespace — documents, layers, stored bytes, audit history. Irreversible.

🔌 Usage

client.tenants().delete(
    "tenantId",
    DeleteTenantsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

client.tenants.resume(tenantId)

🔌 Usage

client.tenants().resume(
    "tenantId",
    ResumeTenantsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

client.tenants.suspend(tenantId, request)

📝 Description

Instantly reversible with resume. The API token is exempt, so a suspended tenant can still be inspected, exported, resumed, or deleted.

🔌 Usage

client.tenants().suspend(
    "tenantId",
    TenantsSuspendRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

reason: Optional<String>

client.tenants.usage(tenantId) -> TenantsUsage200Response

📝 Description

Facts only — no limits or billing state. Views count share exchanges plus authorized /v1/access grants, deduplicated across the two.

🔌 Usage

client.tenants().usage(
    "tenantId",
    UsageTenantsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

period: Optional<String>

Documents

client.documents.list(tenantId) -> DocumentsList200Response

🔌 Usage

client.documents().list(
    "tenantId",
    ListDocumentsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

limit: Optional<Integer>

cursor: Optional<String>

state: Optional<ListDocumentsRequestState>

client.documents.get(tenantId, id) -> DocumentsGet200Response

🔌 Usage

client.documents().get(
    "tenantId",
    "id",
    GetDocumentsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

id: String

client.documents.delete(tenantId, id)

🔌 Usage

client.documents().delete(
    "tenantId",
    "id",
    DeleteDocumentsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

id: String

client.documents.commit(tenantId, id, request) -> DocumentsCommit200Response

🔌 Usage

client.documents().commit(
    "tenantId",
    "id",
    DocumentsCommitRequest
        .builder()
        .sha256("sha256")
        .build()
);

⚙️ Parameters

tenantId: String

id: String

sha256: String

client.documents.download(tenantId, id) -> InputStream

🔌 Usage

client.documents().download(
    "tenantId",
    "id",
    DownloadDocumentsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

id: String

client.documents.thumbnail(tenantId, id) -> InputStream

🔌 Usage

client.documents().thumbnail(
    "tenantId",
    "id",
    ThumbnailDocumentsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

id: String

client.documents.uploadProxy(tenantId, id, request) -> DocumentsUploadProxy200Response

📝 Description

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.

🔌 Usage

client.documents().uploadProxy(
    "tenantId",
    "id",
    null,
    UploadProxyDocumentsRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

id: String

client.documents.importFrom(tenantId, request) -> DocumentsImportFrom200Response

📝 Description

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); revision is provider-interpreted (S3 VersionId, GCS generation, Azure version id).

🔌 Usage

client.documents().importFrom(
    "tenantId",
    DocumentsImportFromRequest
        .builder()
        .source(
            DocumentsImportFromRequestSource.url(
                DocumentsImportFromRequestSourceUrl
                    .builder()
                    .url("url")
                    .build()
            )
        )
        .build()
);

⚙️ Parameters

tenantId: String

source: DocumentsImportFromRequestSource — Where CloudPDF pulls the bytes from. The two shapes differ in WHO supplies the authority to read, not in which storage vendor holds the file.

expected: Optional<DocumentsImportFromRequestExpected> — Integrity pins, enforced when present. When absent, the server-observed values become authoritative.

metadata: Optional<Map<String, Object>>

idempotencyKey: Optional<String> — Retrying with the same key resumes the same document rather than importing a second copy — including after a 502.

dedupMode: Optional<DocumentsImportFromRequestDedupMode> — always-create (default) creates a new document every time. reuse-existing returns a document that already holds the same content instead of storing it twice.

docId: Optional<String>

mode: Optional<DocumentsImportFromRequestMode> — sync (default) holds the response open for the whole transfer. async answers 202 with the document pending and transfers in the background; it requires a connection source, and filesystem connections additionally require expected.sha256.

client.documents.init(tenantId, request) -> DocumentsInit200Response

🔌 Usage

client.documents().init(
    "tenantId",
    DocumentsInitRequest
        .builder()
        .contentLength(1.1)
        .contentSha256("contentSha256")
        .build()
);

⚙️ Parameters

tenantId: String

contentLength: Double

contentSha256: String

metadata: Optional<Map<String, Object>>

idempotencyKey: Optional<String>

dedupMode: Optional<DocumentsInitRequestDedupMode> — always-create (default) creates a new document every time. reuse-existing returns a document that already holds the same content instead of storing it twice.

docId: Optional<String>

uploadTtlSec: Optional<Double>

uploadPreference: Optional<DocumentsInitRequestUploadPreference>

Tokens

client.tokens.issue(tenantId, request) -> TokensIssue200Response

📝 Description

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.

🔌 Usage

client.tokens().issue(
    "tenantId",
    IssueTokensRequest
        .builder()
        .body(
            TokensIssueRequest.doc(
                TokensIssueRequestDoc
                    .builder()
                    .sub("sub")
                    .docId("docId")
                    .expiresIn(1)
                    .scope(
                        Arrays.asList("scope")
                    )
                    .build()
            )
        )
        .build()
);

⚙️ Parameters

tenantId: String

request: TokensIssueRequest

client.tokens.revoke(tenantId, jti, request)

📝 Description

Mounted only when the deployment enables token revocation.

🔌 Usage

client.tokens().revoke(
    "tenantId",
    "jti",
    TokensRevokeRequest
        .builder()
        .build()
);

⚙️ Parameters

tenantId: String

jti: String

reason: Optional<String>

expiresAtSeconds: Optional<Integer>

Doc Annotations

client.doc.annotations.list(docId, layerName, pon) -> DocAnnotationsList200Response

🔌 Usage

client.doc().annotations().list(
    "docId",
    "layerName",
    1,
    ListAnnotationsRequest
        .builder()
        .build()
);

⚙️ Parameters

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

📝 Description

Doc JWTs may instead carry collab scopes (annotations:create:self, …) that refine per-annotation authorship rules; the API token is exempt from both.

🔌 Usage

client.doc().annotations().create(
    "docId",
    "layerName",
    1,
    CreateAnnotationsRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().annotations().delete(
    "docId",
    "layerName",
    1,
    "annotKey",
    DeleteAnnotationsRequest
        .builder()
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().annotations().update(
    "docId",
    "layerName",
    1,
    "annotKey",
    UpdateAnnotationsRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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>

Doc Forms

client.doc.forms.get(docId, layerName) -> DocFormsGet200Response

🔌 Usage

client.doc().forms().get(
    "docId",
    "layerName",
    GetFormsRequest
        .builder()
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().forms().exportData(
    "docId",
    "layerName",
    ExportDataFormsRequest
        .builder()
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().forms().importData(
    "docId",
    "layerName",
    ImportDataFormsRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().forms().reset(
    "docId",
    "layerName",
    "fieldKey",
    ResetFormsRequest
        .builder()
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().forms().setValue(
    "docId",
    "layerName",
    "fieldKey",
    SetValueFormsRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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>

Doc Metadata

client.doc.metadata.get(docId, layerName) -> DocMetadataGet200Response

🔌 Usage

client.doc().metadata().get(
    "docId",
    "layerName",
    GetMetadataRequest
        .builder()
        .build()
);

⚙️ Parameters

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.

Doc Pages

client.doc.pages.delete(docId, layerName, request) -> DocPagesDelete200Response

🔌 Usage

client.doc().pages().delete(
    "docId",
    "layerName",
    DeletePagesRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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.extract(docId, layerName, request) -> InputStream

📝 Description

A read, not a mutation: the source document is untouched and no event is published. Body is {"pageObjectNumbers": number[]}; the response body is the new PDF.

🔌 Usage

client.doc().pages().extract(
    "docId",
    "layerName",
    ExtractPagesRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("string", new 
                HashMap<String, Object>() {{put("key", "value");
                }});
            }}
        )
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().pages().flatten(
    "docId",
    "layerName",
    FlattenPagesRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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.insert(docId, layerName, request) -> DocPagesInsert200Response

📝 Description

Multipart mutation envelope: a body field holding {"destIndex"?: number} (omitted → append) plus a resource:source file part carrying the standalone PDF whose pages are copied in. The inserted copies get fresh page object numbers, returned in insertion order.

🔌 Usage

client.doc().pages().insert(
    "docId",
    "layerName",
    null,
    InsertPagesRequest
        .builder()
        .build()
);

⚙️ Parameters

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.insertBlank(docId, layerName, request) -> DocPagesInsertBlank200Response

📝 Description

Body is {"size": {"width", "height"}, "count"?, "destIndex"?} — size in PDF points, count in [1, 100], destIndex omitted → append.

🔌 Usage

client.doc().pages().insertBlank(
    "docId",
    "layerName",
    InsertBlankPagesRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().pages().move(
    "docId",
    "layerName",
    MovePagesRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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

🔌 Usage

client.doc().pages().rotate(
    "docId",
    "layerName",
    RotatePagesRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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>

Doc Redactions

client.doc.redactions.apply(docId, layerName, request) -> DocRedactionsApply200Response

🔌 Usage

client.doc().redactions().apply(
    "docId",
    "layerName",
    ApplyRedactionsRequest
        .builder()
        .body(
            new HashMap<String, Object>() {{
                put("key", "value");
            }}
        )
        .build()
);

⚙️ Parameters

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>