Skip to content

Data Types & Enums

All client methods accept and return plain dictionaries. The Pydantic models below are optional sugar for callers who want validation and typed access. They use PascalCase aliases (matching the API JSON) with snake_case attributes, and populate_by_name is enabled so you can construct them either way.

from signtraker.models import Agent

agent = Agent.model_validate(client.agents.get_agent(123))
payload = agent.model_dump(by_alias=True, exclude_none=True)

Enums

signtraker.enums

Shared enumerations for the SignTraker API.

These mirror the closed value sets documented by the API. Where the API only publishes a partial set of values (for example order statuses), the affected field is modeled as a plain string in :mod:signtraker.models instead of an enum.

PaymentMode

Bases: str, Enum

Billing/payment mode for an agent.

DiscountLevel

Bases: str, Enum

Manager discount level.

CountryCode

Bases: str, Enum

Supported country codes (API pattern ^US|CA|AU$).

AwardRestriction

Bases: str, Enum

Restrictions that may be placed on a credit award.

SortDirection

Bases: str, Enum

Sort direction usable in OData $orderby clauses.

Models

signtraker.models

Pydantic data models for SignTraker API payloads.

Models are optional sugar: every client method also accepts and returns plain dictionaries. The models give IDE support and validation for callers who want it. Because the API uses PascalCase JSON keys, each field declares a PascalCase alias while keeping a Pythonic snake_case attribute name. populate_by_name is enabled, so you may construct a model with either the alias or the attribute name.

Example
from signtraker.models import Agent

agent = Agent.model_validate(client.agents.get_agent(123))
print(agent.first_name, agent.email)
payload = agent.model_dump(by_alias=True, exclude_none=True)

SignTrakerModel

Bases: BaseModel

Base model enabling alias population and tolerance of unknown fields.

NamedRef

Bases: SignTrakerModel

A lightweight {Id, Name} reference used throughout the API.

AgentAddress

Bases: SignTrakerModel

Postal address for an agent.

ManagerData

Bases: SignTrakerModel

Manager-specific settings attached to an agent.

Agent

Bases: SignTrakerModel

An agent record (used for both responses and create/update bodies).

JobSite

Bases: SignTrakerModel

A job-site (property) location attached to an order.

SalesOrderRef

Bases: SignTrakerModel

A reference to a sales order with its total.

ChangeOrder

Bases: SignTrakerModel

A change order or service order summary record.

ServiceOrder

Bases: ChangeOrder

A service order record (same shape as a change order).

SignageOrder

Bases: SignTrakerModel

A signage order record.

Award

Bases: SignTrakerModel

A credit award record.

Enterprise

Bases: SignTrakerModel

An enterprise ({Id, Name}).

Office

Bases: SignTrakerModel

An office ({Id, Name}).

OrderPreset

Bases: SignTrakerModel

An order preset ({Id, Name}).

CreateOrderRequest

Bases: SignTrakerModel

Request body for creating a signage order (National Accounts).

CreateOrderResult

Bases: SignTrakerModel

Result returned when creating a signage order.

ServiceOrderCreateRequest

Bases: _PresetCreateRequest

Request body for creating a service order.

ChangeOrderCreateRequest

Bases: _PresetCreateRequest

Request body for creating a change order (National Accounts).

RequestRemovalRequest

Bases: SignTrakerModel

Request body for requesting signage removal.

RequestRemovalResult

Bases: SignTrakerModel

Result returned when requesting signage removal.