> ## Documentation Index
> Fetch the complete documentation index at: https://partners.docs.polymarket.us/llms.txt
> Use this file to discover all available pages before exploring further.

# Support and escalation for IBs

> IB-specific escalation routes, what to include on a regulatory or reporting question, and how severity is read.

Report problems in your shared Slack channel with the one identifier that makes your category diagnosable, because a report without it costs a round trip before anyone can look. For a regulatory or reporting question, lead with the deadline.

<Snippet file="support.mdx" />

<Snippet file="support-tagging.mdx" />

## IB-specific escalation routes

Four categories reach a different person than an engineering question does. Name the category in your first line so the message is routed once rather than twice.

| Category                                 | Route it as                                                                | Why it is different                                                                                                                                                                                                |
| ---------------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Regulatory or reporting**              | A regulatory question with a **named deadline and date** in the first line | The answer is a position, not a fix. Several of the ten reports have no platform source, so the reply may be "that does not exist", which you need in writing. → [Reporting pack](/regulatory#reporting-pack)      |
| **KYC ownership and reliance**           | A compliance question, to your integration lead, not an API question       | Whether you may remit against your own policy depends on **AML sign-off**, and no timeframe is committed. → [You own KYC](/kyc-ownership)                                                                          |
| **Funds handling, omnibus, segregation** | A money question, with the exact structure described                       | The omnibus position is unsettled and we will not confirm a structure implicitly. → [Funds handling](/funds)                                                                                                       |
| **Record and naming defects**            | A go-live blocker, with all three identity strings labelled                | There is no self-service correction path for a production record, and one identity mismatch has crash-looped a service on our side. → [Naming and record requirements](/regulatory#naming-and-record-requirements) |
| **NFA/CFTC demo scheduling**             | A regulatory deadline, with the date and the environment question          | Preprod markets do not resolve, so the demo environment is an open question that needs answering before the date, not on it                                                                                        |

<Warning>
  **No out-of-hours or regulatory escalation path is published, and no response-time targets exist for
  any severity.**&#x20;
  Do not build an internal SLA, or a filing plan, on top of ours. Ask your integration lead to name
  the escalation path and the out-of-hours route in writing, and pin it. If a report that carries a
  regulatory deadline has had no reply, re-post it in the channel rather than waiting in the thread,
  and tag your integration lead by name.
</Warning>

## What to include on a regulatory or reporting question

One identifier per category does most of the diagnostic work. Include it in the first message.

| Category                              | The identifier that makes it diagnosable                                        | Also include                                                                                                                                                                                                       |
| ------------------------------------- | ------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Report cannot be produced**         | The **report name** from the pack, exactly as your regulator names it           | The period, the format the regulator expects, and the source you tried (RPC, endpoint or stream). Say plainly whether you need data or a position                                                                  |
| **Report figure disagrees with ours** | The **traded day** and the `symbol`                                             | The two numbers that disagree, **with their scales named**, and which side you believe is right. Fee disagreements are scale errors far more often than fee errors                                                 |
| **Report query fails or times out**   | The endpoint path and the verbatim error                                        | Whether the call was symbol-filtered — unfiltered `POST /v1/report/trades/search` hits the 30-second CloudFront 504 about two thirds of the time — and the page token behaviour you saw                            |
| **Historical data missing**           | The **date range** that returns empty                                           | Whether the range crosses a maintenance window. Stored execution history is archived during maintenance and pre-maintenance execution queries return empty                                                         |
| **Ledger entry type refused**         | The `LedgerEntryType` you requested and the `Aborted` / 409                     | Twelve internal types are suppressed; ask whether the figure you need is reachable another way                                                                                                                     |
| **Balance or margin figure**          | The account string, and which of the six `GetAccountBalance` fields you used    | Whether the account is a firm account or a **participant clearing account** — the read fails with `InvalidArgument: invalid account` on the latter. For open shorts, say so: the collateral question is unresolved |
| **Regulatory position**               | The clause or rule you are being held to                                        | Your reading of it, and what you will do absent an answer. Ask for the reply in the channel in writing, not in a call                                                                                              |
| **Demo scheduling**                   | The date                                                                        | The environment you propose and what you need to demonstrate. If it includes a settled market, say so — preprod cannot show one                                                                                    |
| **Record or naming defect**           | The `participantId`, the `external_id`, and all three identity strings labelled | What the record currently says and what it must say                                                                                                                                                                |
| **Agreement or attestation**          | The clause and the page number                                                  | Signature pages 8, 10, 11 and 15, the W9 TIN and CP575 are the usual rejection causes — check those before asking                                                                                                  |

Two rules that apply to every category:

* **Quote errors verbatim, including the gRPC status code.** An exchange-level rejection arrives as gRPC `OK` with `status = REJECTED`, so "it failed" and "the RPC errored" are different reports with different causes.
* **Name the environment in the first line.** Several behaviours differ, and preprod has no status signal, so we cannot infer it.

<Warning>
  **Never put customer PII or SSNs in the shared channel**, including for debugging. Quote the
  `external_id` and the `participantId` instead. There is no published guidance on what an IB may
  share about its own customers in a support channel.
</Warning>

<Warning>
  **Four current pages tell partners to quote `correlation` and `workflow_id` identifiers in a support
  request, to a destination that is only an email address.**

  Capture both if you have them and put them in your Slack message. Do not rely on an email route
  reading them.
</Warning>

## Severity

Say the severity in the first line. These are the categories we act on:

| Severity                | What it means                                                                                                                   | What you say                                                                       |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| **Money**               | Real or test funds are in the wrong place, a fee looks wrong, a customer could be paid twice, or a balance cannot be reconciled | Lead with "this moves money". Include the amount and the direction                 |
| **Regulatory deadline** | A filing, a report or a demo has a date                                                                                         | Lead with the date and the rule. Say what you will file absent an answer           |
| **Go-live blocker**     | A gate cannot pass, or a launch date is at risk                                                                                 | Lead with "this blocks go-live" and name the date                                  |
| **Production degraded** | A live production path is failing or slow for real customers                                                                    | Lead with "production", the start time, and the error rate you see                 |
| **Preprod blocked**     | You cannot make progress in preprod. Thin books, an unfunded pool and a missing resolution all land here                        | Say what you were trying to test, so we can tell you whether it is testable at all |
| **Question**            | Behaviour you do not understand, no customer impact                                                                             | Name the page you read and what it did not answer                                  |

## Where to check status first

* **`status.polymarketexchange.com`** covers **production**. Check it before reporting a production incident, and quote it if it disagrees with what you see.
* **There is no preprod status signal at all.** No status page, no maintenance calendar, and no partner-checkable health endpoint.

<Warning>
  **`GET /v1/health` is not a usable liveness check.**&#x20;
  It is documented as returning `{"status":"ok"}` with no auth, and partners have reported 404 in
  production and 401 in preprod against it. Because you cannot check preprod yourself, report an
  unexplained preprod failure with a timestamp and treat it as ours until shown otherwise.
</Warning>

## Routes that are not yet defined

**`institutional@polymarket.us` is the published route, and it is not the right route for a partner already live on preprod.** Once you are integrating, your shared Slack channel is where work happens.

<Warning>
  **No page states the correct route for a partner already live on preprod.**

  Ask your integration lead to name the route and the out-of-hours path in writing, and pin it in your
  channel. Until that exists, the channel plus a named person is your only route.
</Warning>

**There is no published intake route for a prospective partner**, which has produced inbound from entities claiming agreements that do not exist. If you are asked to refer someone, refer them to your integration lead rather than to an address.

## What can go wrong

| Symptom                                                            | Cause                                                               | What you do                                                                                                                  |
| ------------------------------------------------------------------ | ------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Your report gets no reply                                          | The message was untagged, or tagged in the namespace nobody watches | Re-post and tag a person by name. Ask which handle to tag and pin the answer                                                 |
| A regulatory question comes back as an engineering answer          | It was routed as an API question                                    | Re-post with the rule, the deadline and the date in the first line                                                           |
| You are asked for an identifier you did not keep                   | The category's key identifier was not captured at the time          | Log `idempotency_key`, `clord_id`, `external_id`, `event_id` and `resume_token` presence on every call, before you need them |
| A verbal answer on a compliance position cannot be relied on later | It was given in a call                                              | Ask for it in the channel in writing. Positions on KYC reliance and omnibus structure are the two that matter most           |
| You cannot tell whether preprod is down                            | There is no preprod status page, calendar or health endpoint        | Report it with a timestamp. Assume ours, not yours                                                                           |
| A support answer contradicts a docs page                           | A correction was issued in Slack rather than as a changelog entry   | The changelog is the only authoritative change record. Ask for the entry                                                     |

## Next

[Reporting and bulk export](/operations)
