---
title: "Performance"
method: GET
path: "/api/v1/markets/{slug}/performance"
tags: ["Authenticated integrations"]
---

# Performance

`GET /api/v1/markets/{slug}/performance`

## Request

- Base URL: `https://kunkafa.com`
- URL: `https://kunkafa.com/api/v1/markets/{slug}/performance`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://kunkafa.com/oauth/authorize`, token URL `https://kunkafa.com/oauth/token`, scopes: `performance:read`)

Read published market-wide performance, not current confidence or an average of durations. Pro and Publisher REST. No summary charge or change to the integration session. headline gives the row to read first (default level, or the nearest level at or below probabilityPercent).

## Path parameters

- `slug` string, required

## Query parameters

- `probabilityPercent` number

## Response `200`

Complete response; 20-second request timeout and 128 KiB response ceiling.

- IntegrationPerformanceResponse
  - `data` object, required: Market-wide historical evidence at each published classifier probability threshold and reporting period. Sample counts and missing rates are preserved; this is not evidence matched to each current output.
    - `market` string, required: Published English-name market slug returned by authorized discovery.
    - `sourceAt` string, date-time, required: ISO 8601 UTC timestamp supplied by Kunkafa.
    - `defaultProbabilityThresholdPercent` number, required
    - `periods` object[], required
      - `period` 'd1' | 'd7' | 'd30' | 'all_time', required
      - `points` IntegrationPerformancePoint[], required
        - `probabilityThresholdPercent` number, required
        - `sampleCount` integer, required
        - `targetsReachedPercent` number, nullable, required
        - `status` 'available' | 'insufficient', required
    - `latestReport` union
      - object
        - `status` 'available', required
        - `data` IntegrationReportBreakdown, required: The market's latest full published report: every settled forecast placed in one of eight bands by how far price travelled toward its target within the duration, as a percent of the distance to the target (100 is the target itself; 300 is three times that distance, not a price change). All eight bands are always present.
          - `market` string, required
          - `edition` 'full', required
          - `window` object, required
            - `from` string, required
            - `to` string, required
          - `generatedAt` string, required
          - `reportUrl` string, required
          - `bands` object[], required
            - `key` string, required
            - `fromPct` number, required
            - `toPct` number, nullable, required
          - `floors` object[], required
            - `minimumProbabilityPercent` integer, required
            - `settledForecasts` integer, required
            - `bandsPercent` number[], required: Share of the settled forecasts in each band, in the order of bands; sums to 100.
            - `up` IntegrationReportShares, required
              - …
            - `down` IntegrationReportShares, required
              - …
      - object
        - `status` 'unavailable', required
        - `data` unknown, required
    - `url` string, uri, required: The market's page on kunkafa.com.
  - `usage` IntegrationUsage, required
    - `calculatedAt` string, date-time, required: ISO 8601 UTC timestamp supplied by Kunkafa.
    - `tier` 'free' | 'starter' | 'core' | 'pro' | 'publisher', required
    - `requests` object, required: Steady request rate with bounded burst capacity; metadata and repeated summaries still count toward request protection.
      - `perMinute` integer, required
      - `burst` integer, required
      - `remaining` integer, required
      - `nextRequestAt` string, date-time, required: ISO 8601 UTC timestamp supplied by Kunkafa.
    - `concurrency` object, required: Private requests that can run at the same time. Requests from one connection run side by side up to this limit (the plan burst); a request from another connection waits until they finish.
      - `limit` integer, required
      - `remaining` integer, required
      - `nextRequestAt` string, date-time, required: ISO 8601 UTC timestamp supplied by Kunkafa.
    - `windows` IntegrationWindowUsage[], required
      - `period` 'day' | 'week' | 'month', required
      - `used` integer, required
      - `limit` integer, required
      - `remaining` integer, required
      - `nextCapacityAt` string, date-time, required: ISO 8601 UTC timestamp supplied by Kunkafa.
      - `notice` unknown, required
      - `noticeId` string, nullable, required
    - `adjustment` object: An owner-approved account allowance increase. A null expiration is permanent until changed. Usage is never reset; market access and credential eligibility still follow the current plan.
      - `expiresAt` string, date-time, nullable, required
  - `notices` IntegrationNotice[], required
    - `id` string, required
    - `period` 'day' | 'week' | 'month', required
    - `kind` 'approaching_limit' | 'limit_reached', required
    - `message` string, required
    - `used` integer, required
    - `limit` integer, required
    - `remaining` integer, required
    - `nextCapacityAt` string, date-time, required: ISO 8601 UTC timestamp supplied by Kunkafa.
  - `dataUse` string, required: Use restriction on every reply: data collection is prohibited; the data may not be collected, saved, stored, exported or compiled, or used to train, retrain, fine-tune or distil any model.
  - `fieldGuide` object, required: Plain meanings of the returned fields.
    - `periods` string, required
    - `probabilityThresholdPercent` string, required
    - `targetsReachedPercent` string, required
    - `sampleCount` string, required
    - `latestReport` string, required
  - `headline` IntegrationPerformanceHeadline, required: The row to read first: past results at one published confidence level for each reporting period. basis is default (the market's default level) or requested (the nearest level at or below probabilityPercent).
    - `probabilityThresholdPercent` number, required
    - `basis` 'default' | 'requested', required
    - `periods` object[], required
      - `period` 'd1' | 'd7' | 'd30' | 'all_time', required
      - `sampleCount` integer, required
      - `targetsReachedPercent` number, nullable, required
      - `status` 'available' | 'insufficient', required

## Other responses

- `400`: Invalid fields, an unknown or missing duration, a request broader than one call returns, or an invalid pagination cursor.
- `401`: Missing, invalid, expired or revoked credentials.
- `403`: Account, permission, plan or market is not authorized.
- `404`: Unknown API operation or route.
- `405`: HTTP method not supported.
- `413`: Request body exceeds the 16 KiB limit.
- `415`: Use application/json for request bodies.
- `429`: Request, concurrency, traffic or rolling summary limit. No partial private delivery or new disclosure charges.
- `503`: Temporary access/accounting failure or unavailable data. This is not exhausted allowance.

---

[API](https://skmtc.dev/kunkafa/apis/kunkafa-public-data-and-integrations.md) · [All operations](https://skmtc.dev/kunkafa/apis/kunkafa-public-data-and-integrations/llms.txt) · [OpenAPI document](https://skmtc.dev/kunkafa/apis/kunkafa-public-data-and-integrations/revisions/8217b961f423?raw)
