Contracting & Hierarchies API

AgentSync Contracting & Hierarchies API

v1.7.6OAS 3.1

The customer-facing surface for the AgentSync Contracting platform: a purpose-built,
read-only API for producers, contracts, contract assignments, and the hierarchies those
assignments form. Every endpoint below is under the /v2 path prefix.

Every endpoint requires an OAuth2 client-credentials token and the scope shown on that
endpoint. See Authentication for how to
request credentials and retrieve a token,
API Base URLs for the sandbox and production
hosts, and Pagination for how page_token
and page_size behave across list endpoints.

Contracting and hierarchy endpoints are documented together because they share one set of
scopes: a token carrying contracting.contractassignments.read reaches both. They are also
entangled by design — a hierarchy node’s key is a contractAssignmentId. Use the sidebar
groups to navigate: hierarchy and upline-discovery endpoints are under Hierarchies.

Webhook events

AgentSync delivers outbound events to your configured endpoint when contracts, contract
assignments, and hierarchy placements change. Each event is an HTTP POST whose body carries a
unique id, a dot-notation type, and a type-specific data payload; respond 2xx to
acknowledge. The event types are declared under webhooks below.

Full payload documentation — every field of every event, delivery semantics, retry behaviour
and signature verification — lives at
Contracting API Webhooks.

API Base URL
  • Server 1:https://api.sandbox.agentsync.io/contracting

    Sandbox

  • Server 2:https://api.agentsync.io/contracting

    Production

Security
oauth2 (oauth2)

OAuth2 client credentials. The tokenUrl below is the SANDBOX token endpoint; for production use https://auth.agentsync.io/oauth2/token. OpenAPI 3.1 permits only one token URL per flow, so both cannot be expressed here - see https://developer.agentsync.io/api-authentication for the full environment table, how to request credentials, and worked token-retrieval examples.

Producers

Read the producers - individuals and firms - in your organization.

List the calling customer's producers

Returns the producers (individuals and firms) in the calling customer’s organization as a
token-paginated collection. Results are scoped to the caller; another customer’s producers are
never returned.

This collection carries each producer’s contracting record only. Phone numbers, the federated
username, and bank accounts are returned by
the by-id endpoint, not here, because each one requires a
per-producer lookup that cannot be performed economically across a full page.

middleName is served here from the contracting record’s own copy, which can lag the
Identity API. The by-id endpoint reads it live and is the accurate source.

get

Query Parameters

page_tokenstring

Opaque continuation token from a previous response’s page.nextToken. Omit for the first
page.

page_sizeinteger

Maximum number of items to return. Defaults to 25; values outside [1, 250] are rejected
with 400 (not clamped).

Default:25

>= 1<= 250

updated_sincestring(date-time)

Return only contracts modified at or after this RFC3339 UTC timestamp (inclusive). Modified
time tracks any column change, so “modified” does not necessarily mean a
business-meaningful change. Best used as a high-water mark for incremental sync: a pagination
run is not a point-in-time snapshot, so records updated mid-run may first appear on a later poll.

Example:2026-06-01T00:00:00Z

Response

application/json

A page of producers.

ProducerV2Page

A token-paginated page of producers (plain envelope, no HAL wrappers).

itemsarray[object]required

A producer in the calling customer’s organization. A producer is either an individual
(type = AGENT, identified by personId) or a firm (type = FIRM, identified by
firmId); fields that do not apply to the other kind are null.

Show Child Parameters
pageobjectrequired

Pagination metadata for a V2 list response.

Show Child Parameters
 
application/json