State Street Orders API
ETF creation and redemption order operations
ETF creation and redemption order operations
openapi: 3.0.3
info:
title: State Street Alpha Data Platform Baskets Orders API
description: The State Street Alpha Data Platform API provides institutional investment managers, asset owners, and wealth managers with programmatic access to their portfolio data across the front-to-back Alpha investment management platform. The API enables clients to retrieve portfolio positions, holdings, investable cash, pledged collateral, securities on loan, risk exposures, performance measurement, and transaction history in near real-time. Built on Snowflake and Microsoft Azure, the Alpha Data Platform provides intraday visibility across geographies, asset classes, and counterparties. Authentication uses OAuth 2.0 Client Credentials (RFC 6749 Section 4.4.2). All requests require the X-Correlation-ID header for request tracing. The API follows REST conventions with JSON as the default data format, versioned using Major.Minor.Patch semantics.
version: 1.0.0
contact:
name: State Street API Support
email: api-support@statestreet.com
url: https://developer.statestreet.com
termsOfService: https://www.statestreet.com/us/en/individual-investor/tools-and-resources/terms-and-conditions
license:
name: Proprietary
url: https://developer.statestreet.com/api-platform-standards
servers:
- url: https://api.statestreet.com/v1
description: State Street API Production
security:
- OAuth2:
- portfolio:read
- positions:read
- transactions:read
- performance:read
- risk:read
tags:
- name: Orders
description: ETF creation and redemption order operations
paths:
/orders:
post:
operationId: createOrder
summary: Create ETF Order
description: Submit an ETF creation or redemption order through Fund Connect. Authorized participants can request creation of new ETF shares by delivering the in-kind basket, or redeem existing ETF shares to receive the underlying basket securities. Orders are processed at end-of-day NAV.
tags:
- Orders
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderRequest'
responses:
'201':
description: Order successfully submitted
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'400':
description: Invalid order request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Not authorized as AP for this fund
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
get:
operationId: listOrders
summary: List ETF Orders
description: Retrieve a list of ETF creation and redemption orders submitted by the authenticated authorized participant. Supports filtering by order status, fund, and date range.
tags:
- Orders
parameters:
- name: fundId
in: query
description: Filter by fund identifier
required: false
schema:
type: string
- name: status
in: query
description: Filter by order status
required: false
schema:
type: string
enum:
- PENDING
- ACCEPTED
- PROCESSING
- SETTLED
- REJECTED
- CANCELLED
- name: startDate
in: query
required: false
schema:
type: string
format: date
- name: endDate
in: query
required: false
schema:
type: string
format: date
- name: pageSize
in: query
required: false
schema:
type: integer
default: 25
maximum: 100
- name: pageToken
in: query
required: false
schema:
type: string
- $ref: '#/components/parameters/XCorrelationId'
responses:
'200':
description: List of ETF orders
content:
application/json:
schema:
$ref: '#/components/schemas/OrderListResponse'
/orders/{orderId}:
get:
operationId: getOrder
summary: Get ETF Order
description: Retrieve the current status and details of a specific ETF creation or redemption order including basket delivery confirmation and settlement status.
tags:
- Orders
parameters:
- name: orderId
in: path
description: Unique order identifier
required: true
schema:
type: string
example: FC-2026-0502-00123
- $ref: '#/components/parameters/XCorrelationId'
responses:
'200':
description: ETF order details
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'404':
description: Order not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/orders/{orderId}/cancel:
post:
operationId: cancelOrder
summary: Cancel ETF Order
description: Cancel a pending ETF creation or redemption order before it has been accepted for processing. Orders can only be cancelled while in PENDING status.
tags:
- Orders
parameters:
- name: orderId
in: path
description: Unique order identifier
required: true
schema:
type: string
example: FC-2026-0502-00123
- $ref: '#/components/parameters/XCorrelationId'
responses:
'200':
description: Order successfully cancelled
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'404':
description: Order not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'409':
description: Order cannot be cancelled in current state
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
schemas:
OrderRequest:
type: object
required:
- fundId
- orderType
- units
description: ETF creation or redemption order request
properties:
fundId:
type: string
description: Fund identifier
example: ETF-SPDR-SPY
orderType:
type: string
description: Order type
enum:
- CREATION
- REDEMPTION
example: CREATION
units:
type: integer
description: Number of creation/redemption units
minimum: 1
example: 5
settlementType:
type: string
description: Settlement instruction type
enum:
- IN_KIND
- CASH
default: IN_KIND
clientOrderId:
type: string
description: Client-provided reference ID
example: CLIENT-ORDER-98765
Error:
type: object
properties:
code:
type: string
example: UNAUTHORIZED
message:
type: string
example: Access token is missing or invalid.
correlationId:
type: string
format: uuid
Order:
type: object
description: An ETF creation or redemption order
properties:
orderId:
type: string
description: Unique Fund Connect order identifier
example: FC-2026-0502-00123
clientOrderId:
type: string
description: Client-provided reference ID
example: CLIENT-ORDER-98765
fundId:
type: string
example: ETF-SPDR-SPY
orderType:
type: string
enum:
- CREATION
- REDEMPTION
example: CREATION
units:
type: integer
description: Number of creation/redemption units ordered
example: 5
status:
type: string
enum:
- PENDING
- ACCEPTED
- PROCESSING
- SETTLED
- REJECTED
- CANCELLED
example: ACCEPTED
submittedAt:
type: string
format: date-time
description: Order submission timestamp
tradeDate:
type: string
format: date
description: Trade date
settlementDate:
type: string
format: date
description: Expected settlement date
OrderListResponse:
type: object
properties:
orders:
type: array
items:
$ref: '#/components/schemas/Order'
nextPageToken:
type: string
totalCount:
type: integer
parameters:
XCorrelationId:
name: X-Correlation-ID
in: header
description: Client-provided correlation ID for request tracing
required: false
schema:
type: string
format: uuid
securitySchemes:
OAuth2:
type: oauth2
description: OAuth 2.0 Client Credentials flow per RFC 6749 Section 4.4.2. Requires multifactor authentication for all user access.
flows:
clientCredentials:
tokenUrl: https://api.statestreet.com/oauth/token
scopes:
portfolio:read: Read portfolio metadata and account information
positions:read: Read portfolio positions and holdings
transactions:read: Read transaction history
performance:read: Read performance measurement and attribution data
risk:read: Read risk analytics and exposure data