Royal Vendor SDK for Python
Typed sync and async access to Royal's curated Captivated, Encompass, PanTerra, and Paylocity API surfaces. Import the vendor you need directly:
from royal_vendor_sdk.encompass import EncompassClient, LoanPipelineQueryRequest
with EncompassClient(access_token) as client:
result = client.query_pipeline(
LoanPipelineQueryRequest(fields=["Loan.LoanNumber"]),
limit=100,
)
All calls return ApiResult[T] (royal_vendor_sdk.core), and matching
operations are available on each vendor's *AsyncClient. Generated transport
code remains internal under each vendor's _generated subpackage;
applications should use the stable clients.
royal_vendor_sdk.captivated
Typed sync and async access to Royal's curated Captivated contract, including idempotent conversation membership reconciliation:
from royal_vendor_sdk.captivated import CaptivatedClient
with CaptivatedClient(access_token) as client:
joined = client.ensure_joined(feed_id, user_id)
The /api/v2 resources are verified but unpublished Captivated APIs and may
change without notice. Credential-management endpoints such as
/api/v2/api_keys are intentionally excluded.
royal_vendor_sdk.encompass
The stable facades cover every operation exposed by the Royal .NET Encompass client: loans, pipeline and reports, fields and locks, milestones and free roles, schemas, organizations, company settings, users, custom data objects, eFolder, Encompass Docs, and administrative batch updates.
Authentication
Three token helpers cover Encompass's supported grants, each returning
ApiResult[OAuthAccessToken] (sync + _async variants of each):
request_service_token--grant_type=client_credentials. Restricted to ISV partners registered as Encompass API Users.request_user_service_token--grant_type=password(resource owner password credentials). Lenders must use this grant instead ofclient_credentials; pass a plain Encompass user name and the SDK qualifies it as{username}@encompass:{instance_id}.request_impersonation_token-- exchanges an already-issued access token for one acting as another Encompass user (urn:ietf:params:oauth:grant- type:token-exchange). Super Administrators may impersonate any user; API Users authenticated with the password grant may impersonate users at or below their own level.
from royal_vendor_sdk.encompass import (
request_user_service_token,
request_impersonation_token,
)
token = request_user_service_token(
client_id=client_id,
client_secret=client_secret,
instance_id=instance_id,
username="service.user",
password=password,
)
impersonated = request_impersonation_token(
client_id=client_id,
client_secret=client_secret,
actor_token=token.value.access_token,
subject_user_id="target-encompass-user-id",
)
royal_vendor_sdk.panterra
Typed sync and async access to the curated PanTerra Streams API. The specification prefers v2 operations and retains v1 operations only where the current vendor surface has no equivalent.
from royal_vendor_sdk.panterra import PanTerraClient
with PanTerraClient(access_token) as client:
result = client.list_call_detail_records(account_id=12345)
The facade includes account and user CDRs, agents, groups, and recordings,
with a matching PanTerraAsyncClient. The complete curated surface is
available through client.generated_client and
royal_vendor_sdk.panterra._generated.api.
royal_vendor_sdk.paylocity
Typed sync and async access to the employee and custom-field operations already supported by the stable Royal .NET Paylocity SDK.
from royal_vendor_sdk.paylocity import PaylocityClient
with PaylocityClient(access_token) as client:
result = client.list_employees(company_id="company-id", page_size=100)
The facade supports listing, reading, creating, and updating employees plus
both custom-field reads. PaylocityAsyncClient provides the same surface
asynchronously.
Metadata
Release files for royal-vendor-sdk 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| royal_vendor_sdk-0.2.0.tar.gz | 101.4 kB | With provenance | Details for royal_vendor_sdk-0.2.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| royal_vendor_sdk-0.2.0-py3-none-any.whl | Python 3 | none | any | Details for royal_vendor_sdk-0.2.0-py3-none-any.whl |
Total release size: 397.3 kB
Release files / royal_vendor_sdk-0.2.0.tar.gz
| Download URL | royal_vendor_sdk-0.2.0.tar.gz |
|---|---|
| Size | 101.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d8aba9c15d2a471c8283337deaec635f3549af1b9482ee0a0eb3506efcc330fb
|
|
BLAKE2b-256 checksum How to use checksums |
02d73083777b7268369cc37e86eb2c87a10463119770cef56263dbfedc7152f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logRelease files / royal_vendor_sdk-0.2.0-py3-none-any.whl
| Download URL | royal_vendor_sdk-0.2.0-py3-none-any.whl |
|---|---|
| Size | 295.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3ffcba70569233b21ccf97a891468e55db446c9733fcb9a121f483b00afe7ad8
|
|
BLAKE2b-256 checksum How to use checksums |
73d3913f4882a21028eeb1d6fd97e4f9efa851906ed30ac27869d3f9063bbde4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logSecurity for royal-vendor-sdk 0.2.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for royal_vendor_sdk-0.2.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 27, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.