Skip to main content
plainrouter is the generated Python SDK for PlainRouter’s signed OpenAPI contract. It exposes synchronous and asynchronous clients for all ten Conversion API operations. The current PyPI release is 0.5.0 and targets signed API contract 0.5.0. The source is in plainrouter/sdk.

Requirements

  • Python 3.11 or newer.
  • A per-Signal tracker secret.
  • Server-side code. Do not put the tracker secret in browser or distributed client code.

Install

Create a client

The default API base is https://plainrouter.com/api/v1 and the default request timeout is 30 seconds.

Use async operations

Each operation module also provides an asynchronous method:

Verify Signal ingestion

The operation is idempotent. A repeated verification returns the existing event with duplicate: true.

Available operation modules

Configure another API origin or timeout

Pass base_url or an httpx.Timeout when creating the client:
Override the production origin only for a PlainRouter-provided region or a controlled test environment.

Handle credentials safely

The Python SDK accepts a Signal tracker secret. It does not accept an MCP workspace token or OAuth management credential. Keep the secret in a server-side secret manager. Never include it in prompts, URLs, logs, source control, or client-side code. For request and response fields, use the API reference.