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