---
title: "PMIC Macro and Markets Signals"
method: POST
path: "/v1/pmic-macro-signals"
tags: ["finance"]
---

# PMIC Macro and Markets Signals

`POST /v1/pmic-macro-signals`

## Request

- Base URL: `https://agent.pocket.network`
- URL: `https://agent.pocket.network/v1/pmic-macro-signals`
- Auth: none required

Scored US and global macro briefs from official data (FRED, BLS, BEA, EIA, ECB, IMF, OECD and more): inflation, labor, rates, credit stress, housing, energy, an economic calendar and Pocket Network health. Each is a 0-100 score with trend, drivers, risk flags and a citation per input. POST /v1/brief with {vertical}. Research signal, not investment advice.

## Request body

- object: The body of POST /v1/brief. The other routes take JSON bodies too: /v1/verticals and /v1/overview take {} (overview also horizon); /v1/signals takes source_id, horizon, sort, direction, min_confidence and limit; /v1/signal and /v1/explain take series_id (e.g. fred:CPIAUCSL); /v1/catalog takes q; /v1/inflation/adjust takes amount and from, with an optional to (YYYY-MM).
  - `vertical` 'macro-regime' | 'inflation' | 'labor' | 'rates' | 'credit-stress' | 'commodities' | 'global-compare' | 'housing' | 'consumer' | 'country-risk' | 'health-systems' | 'education' | 'yield-curve' | 'bank-health' | 'global-rates-fx' | 'treasury-demand' | 'energy-supply' | 'trade-flows' | 'business-formation' | 'pokt-network-health' | 'supply-chain-pressure' | 'food-inflation' | 'state-labor' | 'imf-outlook' | 'economic-calendar' | 'leading-indicators', required: Which brief to score.
  - `horizon` '7d' | '30d' | '90d' | '365d': The window the trend is measured over.
  - `countries` string[]: Countries to compare, for the cross-country verticals.

## Response `200`

The upstream response, served after payment settles.

- object: The answer to POST /v1/brief. score, label and trend_basis are null on insufficient_data briefs; entity is an object on company briefs. Errors return {error: {code, message}} with HTTP 400; other routes return their own JSON objects (see the openapi spec).
  - `service` string
  - `pack_version` string
  - `vertical` string
  - `title` string
  - `question` string
  - `entity` unknown
  - `horizon` string
  - `status` 'ok' | 'insufficient_data'
  - `score` unknown
  - `label` unknown
  - `trend` string
  - `trend_basis` unknown
  - `summary` string
  - `drivers` object[]
  - `risk_flags` string[]
  - `confidence` object
    - `score` integer
    - `label` string
  - `inputs` object[]
  - `watch` object[]
  - `recent_events` object[]
  - `citations` object[]
    - `url` string
    - `label` string

## Other responses

- `400`: Malformed request.
- `402`: Payment required. The x402 v2 terms are in the PAYMENT-REQUIRED header and, identically, in this body; sign the chosen option and retry with the PAYMENT-SIGNATURE header. The receipt arrives in PAYMENT-RESPONSE.
- `503`: This service is not currently available to serve.

---

[API](https://skmtc.dev/pocket/apis/pocket-agentic-portal.md) · [All operations](https://skmtc.dev/pocket/apis/pocket-agentic-portal/llms.txt) · [OpenAPI document](https://skmtc.dev/pocket/apis/pocket-agentic-portal/revisions/96d2176db014?raw)
