Skip to content

Latest commit

 

History

History
3321 lines (2334 loc) · 38 KB

File metadata and controls

3321 lines (2334 loc) · 38 KB

Reference

Deployment

$client->deployment->licenseStatus() -> ?DeploymentLicenseStatusResponse

🔌 Usage

$client->deployment->licenseStatus();

Doc

$client->doc->head($docId, $request) -> ?DocHead200Response

🔌 Usage

$client->doc->head(
    'docId',
    new HeadDocRequest([]),
);

⚙️ Parameters

$docId: string

$documentPassword: ?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, $request) -> string

🔌 Usage

$client->doc->download(
    'docId',
    'layerName',
    new DownloadDocRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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, $request) -> ?DocManifest200Response

🔌 Usage

$client->doc->manifest(
    'docId',
    'layerName',
    new ManifestDocRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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, $request) -> string

📝 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,
    new RenderDocRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$pon: int

$documentPassword: ?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, $request) -> ?DocText200Response

🔌 Usage

$client->doc->text(
    'docId',
    'layerName',
    1,
    new TextDocRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$pon: int

$documentPassword: ?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(
    new SharesExchangeRequest([
        'shareToken' => 'shareToken',
    ]),
);

⚙️ Parameters

$shareToken: string

$password: ?string

$client->shares->list($tenantId, $request) -> ?SharesList200Response

🔌 Usage

$client->shares->list(
    'tenantId',
    new ListSharesRequest([]),
);

⚙️ Parameters

$tenantId: string

$limit: ?int

$cursor: ?string

$docId: ?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',
    new SharesCreateRequest([
        'docId' => 'docId',
        'scope' => [
            'scope',
        ],
    ]),
);

⚙️ Parameters

$tenantId: string

$docId: string

$layerName: ?string

$scope: array

$origins: ?array

$password: ?string

$sessionTtlSeconds: ?int

$expiresAt: ?int

$client->shares->get($tenantId, $shareId) -> ?SharesGet200Response

🔌 Usage

$client->shares->get(
    'tenantId',
    'shareId',
);

⚙️ Parameters

$tenantId: string

$shareId: string

$client->shares->delete($tenantId, $shareId)

🔌 Usage

$client->shares->delete(
    'tenantId',
    'shareId',
);

⚙️ Parameters

$tenantId: string

$shareId: string

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

🔌 Usage

$client->shares->update(
    'tenantId',
    'shareId',
    new SharesUpdateRequest([]),
);

⚙️ Parameters

$tenantId: string

$shareId: string

$scope: ?array

$origins: ?array

$password: ?string

$sessionTtlSeconds: ?int

$disabled: ?bool

$expiresAt: ?int

Tenants

$client->tenants->list($request) -> ?TenantsList200Response

🔌 Usage

$client->tenants->list(
    new ListTenantsRequest([]),
);

⚙️ Parameters

$limit: ?int

$cursor: ?string

$client->tenants->create($request) -> ?TenantsCreate200Response

🔌 Usage

$client->tenants->create(
    new TenantsCreateRequest([
        'id' => 'id',
    ]),
);

⚙️ Parameters

$id: string

$name: ?string

$client->tenants->get($tenantId) -> ?TenantsGet200Response

🔌 Usage

$client->tenants->get(
    'tenantId',
);

⚙️ 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',
);

⚙️ Parameters

$tenantId: string

$client->tenants->resume($tenantId)

🔌 Usage

$client->tenants->resume(
    'tenantId',
);

⚙️ 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',
    new TenantsSuspendRequest([]),
);

⚙️ Parameters

$tenantId: string

$reason: ?string

$client->tenants->usage($tenantId, $request) -> ?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',
    new UsageTenantsRequest([]),
);

⚙️ Parameters

$tenantId: string

$period: ?string

Documents

$client->documents->list($tenantId, $request) -> ?DocumentsList200Response

🔌 Usage

$client->documents->list(
    'tenantId',
    new ListDocumentsRequest([]),
);

⚙️ Parameters

$tenantId: string

$limit: ?int

$cursor: ?string

$state: ?string

$client->documents->get($tenantId, $id) -> ?DocumentsGet200Response

🔌 Usage

$client->documents->get(
    'tenantId',
    'id',
);

⚙️ Parameters

$tenantId: string

$id: string

$client->documents->delete($tenantId, $id)

🔌 Usage

$client->documents->delete(
    'tenantId',
    'id',
);

⚙️ Parameters

$tenantId: string

$id: string

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

🔌 Usage

$client->documents->commit(
    'tenantId',
    'id',
    new DocumentsCommitRequest([
        'sha256' => 'sha256',
    ]),
);

⚙️ Parameters

$tenantId: string

$id: string

$sha256: string

$client->documents->download($tenantId, $id) -> string

🔌 Usage

$client->documents->download(
    'tenantId',
    'id',
);

⚙️ Parameters

$tenantId: string

$id: string

$client->documents->thumbnail($tenantId, $id) -> string

🔌 Usage

$client->documents->thumbnail(
    'tenantId',
    'id',
);

⚙️ 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',
    new UploadProxyDocumentsRequest([
        'file' => File::createFromString("example_file", "example_file"),
    ]),
);

⚙️ 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',
    new DocumentsImportFromRequest([
        'source' => DocumentsImportFromRequestSource::url(new DocumentsImportFromRequestSourceUrl([
            'url' => 'url',
        ])),
    ]),
);

⚙️ 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: ?DocumentsImportFromRequestExpected — Integrity pins, enforced when present. When absent, the server-observed values become authoritative.

$metadata: ?array

$idempotencyKey: ?string — Retrying with the same key resumes the same document rather than importing a second copy — including after a 502.

$dedupMode: ?string — 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: ?string

$mode: ?string — 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',
    new DocumentsInitRequest([
        'contentLength' => 1.1,
        'contentSha256' => 'contentSha256',
    ]),
);

⚙️ Parameters

$tenantId: string

$contentLength: float

$contentSha256: string

$metadata: ?array

$idempotencyKey: ?string

$dedupMode: ?string — 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: ?string

$uploadTtlSec: ?float

$uploadPreference: ?string

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',
    new IssueTokensRequest([
        'body' => TokensIssueRequest::doc(new TokensIssueRequestDoc([
            'sub' => 'sub',
            'docId' => 'docId',
            'scope' => [
                'scope',
            ],
            'expiresIn' => 1,
        ])),
    ]),
);

⚙️ 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',
    new TokensRevokeRequest([]),
);

⚙️ Parameters

$tenantId: string

$jti: string

$reason: ?string

$expiresAtSeconds: ?int

Doc Annotations

$client->doc->annotations->list($docId, $layerName, $pon, $request) -> ?DocAnnotationsList200Response

🔌 Usage

$client->doc->annotations->list(
    'docId',
    'layerName',
    1,
    new ListAnnotationsRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$pon: int

$documentPassword: ?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,
    new CreateAnnotationsRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$pon: int

$documentPassword: ?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: array

$client->doc->annotations->delete($docId, $layerName, $pon, $annotKey, $request) -> ?DocAnnotationsDelete200Response

🔌 Usage

$client->doc->annotations->delete(
    'docId',
    'layerName',
    1,
    'annotKey',
    new DeleteAnnotationsRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$pon: int

$annotKey: string

$documentPassword: ?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',
    new UpdateAnnotationsRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$pon: int

$annotKey: string

$documentPassword: ?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: array

Doc Forms

$client->doc->forms->get($docId, $layerName, $request) -> ?DocFormsGet200Response

🔌 Usage

$client->doc->forms->get(
    'docId',
    'layerName',
    new GetFormsRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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, $request) -> string

🔌 Usage

$client->doc->forms->exportData(
    'docId',
    'layerName',
    new ExportDataFormsRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$format: ?string

$documentPassword: ?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',
    new ImportDataFormsRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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: array

$client->doc->forms->reset($docId, $layerName, $fieldKey, $request) -> ?DocFormsReset200Response

🔌 Usage

$client->doc->forms->reset(
    'docId',
    'layerName',
    'fieldKey',
    new ResetFormsRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$fieldKey: string

$documentPassword: ?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',
    new SetValueFormsRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$fieldKey: string

$documentPassword: ?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: array

Doc Metadata

$client->doc->metadata->get($docId, $layerName, $request) -> ?DocMetadataGet200Response

🔌 Usage

$client->doc->metadata->get(
    'docId',
    'layerName',
    new GetMetadataRequest([]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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',
    new DeletePagesRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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: array

$client->doc->pages->extract($docId, $layerName, $request) -> string

📝 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',
    new ExtractPagesRequest([
        'body' => [
            'string' => [
                'key' => "value",
            ],
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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: array

$client->doc->pages->flatten($docId, $layerName, $request) -> ?DocPagesFlatten200Response

🔌 Usage

$client->doc->pages->flatten(
    'docId',
    'layerName',
    new FlattenPagesRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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: array

$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',
    new InsertPagesRequest([
        'file' => File::createFromString("example_file", "example_file"),
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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',
    new InsertBlankPagesRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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: array

$client->doc->pages->move($docId, $layerName, $request) -> ?DocPagesMove200Response

🔌 Usage

$client->doc->pages->move(
    'docId',
    'layerName',
    new MovePagesRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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: array

$client->doc->pages->rotate($docId, $layerName, $request) -> ?DocPagesRotate200Response

🔌 Usage

$client->doc->pages->rotate(
    'docId',
    'layerName',
    new RotatePagesRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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: array

Doc Redactions

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

🔌 Usage

$client->doc->redactions->apply(
    'docId',
    'layerName',
    new ApplyRedactionsRequest([
        'body' => [
            'key' => "value",
        ],
    ]),
);

⚙️ Parameters

$docId: string

$layerName: string

$documentPassword: ?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: array