OpenAPI Specification
openapi: 3.0.0
info:
title: Kalshi Trade API Manual Endpoints account structured-targets API
version: 3.19.0
description: Manually defined OpenAPI spec for endpoints being migrated to spec-first approach
servers:
- url: https://external-api.kalshi.com/trade-api/v2
description: Production Trade API server
- url: https://api.elections.kalshi.com/trade-api/v2
description: Production shared API server, also supported
- url: https://external-api.demo.kalshi.co/trade-api/v2
description: Demo Trade API server
- url: https://demo-api.kalshi.co/trade-api/v2
description: Demo shared API server, also supported
tags:
- name: structured-targets
description: Structured targets endpoints
paths:
/structured_targets:
get:
operationId: GetStructuredTargets
summary: Get Structured Targets
description: 'Page size (min: 1, max: 2000)'
tags:
- structured-targets
parameters:
- name: ids
in: query
description: Filter by specific structured target IDs. Pass multiple IDs by repeating the parameter (e.g. `?ids=uuid1&ids=uuid2`).
required: false
schema:
type: array
maxItems: 2000
items:
type: string
style: form
explode: true
- name: type
in: query
description: Filter by structured target type
required: false
schema:
type: string
example: basketball_player
- name: competition
in: query
description: Filter by competition. Matches against the league, conference, division, or tour in the structured target details.
required: false
schema:
type: string
example: NBA
- name: page_size
in: query
description: Number of items per page (min 1, max 2000, default 100)
required: false
schema:
type: integer
format: int32
minimum: 1
maximum: 2000
default: 100
- name: cursor
in: query
description: Pagination cursor
required: false
schema:
type: string
responses:
'200':
description: Structured targets retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetStructuredTargetsResponse'
'401':
description: Unauthorized
'500':
description: Internal server error
/structured_targets/{structured_target_id}:
get:
operationId: GetStructuredTarget
summary: Get Structured Target
description: ' Endpoint for getting data about a specific structured target by its ID.'
tags:
- structured-targets
parameters:
- name: structured_target_id
in: path
required: true
description: Structured target ID
schema:
type: string
responses:
'200':
description: Structured target retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetStructuredTargetResponse'
'401':
description: Unauthorized
'404':
description: Not found
'500':
description: Internal server error
components:
schemas:
GetStructuredTargetResponse:
type: object
properties:
structured_target:
$ref: '#/components/schemas/StructuredTarget'
GetStructuredTargetsResponse:
type: object
properties:
structured_targets:
type: array
items:
$ref: '#/components/schemas/StructuredTarget'
cursor:
type: string
description: Pagination cursor for the next page. Empty if there are no more results.
StructuredTarget:
type: object
properties:
id:
type: string
description: Unique identifier for the structured target.
name:
type: string
description: Name of the structured target.
type:
type: string
description: Type of the structured target.
details:
type: object
description: Additional details about the structured target. Contains flexible JSON data specific to the target type.
source_id:
type: string
description: External source identifier for the structured target, if available (e.g., third-party data provider ID).
source_ids:
type: object
additionalProperties:
type: string
description: Source ids of structured target if available.
last_updated_ts:
type: string
format: date-time
description: Timestamp when this structured target was last updated.
securitySchemes:
kalshiAccessKey:
type: apiKey
in: header
name: KALSHI-ACCESS-KEY
description: Your API key ID
kalshiAccessSignature:
type: apiKey
in: header
name: KALSHI-ACCESS-SIGNATURE
description: RSA-PSS signature of the request
kalshiAccessTimestamp:
type: apiKey
in: header
name: KALSHI-ACCESS-TIMESTAMP
description: Request timestamp in milliseconds