Texas Instruments Store API

The TI Store API enables enterprise customers to integrate with TI's ordering platform. It provides real-time inventory and pricing data, order creation and retrieval, advanced ship notice (ASN) tracking, and financial document retrieval. OAuth 2.0 client credentials authentication against transact.ti.com. Production base URL: https://transact.ti.com/v2/store

OpenAPI Specification

texas-instruments-store-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Texas Instruments Store API
  description: >-
    The Texas Instruments Store API provides programmatic access to TI's
    ordering and inventory platform. It enables enterprise customers to
    retrieve real-time inventory and pricing, create and retrieve orders,
    and track shipments via Advanced Ship Notice (ASN). Authentication
    uses OAuth 2.0 client credentials flow against the transact.ti.com
    token endpoint.
  version: '2.0'
  contact:
    name: Texas Instruments API Support
    url: https://api-portal.ti.com/support
  license:
    name: Proprietary
    url: https://www.ti.com/
externalDocs:
  description: TI Store API Developer Portal
  url: https://www.ti.com/developer-api/store-api/getting-started.html
servers:
  - url: https://transact.ti.com/v2/store
    description: Production - TI Store API
  - url: https://transact.ti.com/v2/store/orders/test
    description: Test - Order API
security:
  - OAuth2: []
tags:
  - name: Products
    description: Product inventory, pricing, and catalog endpoints
  - name: Orders
    description: Order creation and retrieval
  - name: Shipments
    description: Advanced Ship Notice (ASN) retrieval
  - name: Financial
    description: Financial document and invoice retrieval
  - name: Authentication
    description: OAuth 2.0 token endpoints

paths:
  /products/{partNumber}:
    get:
      operationId: getProductInventoryAndPricing
      summary: Get Product Inventory and Pricing
      description: >-
        Retrieves real-time inventory availability, pricing breaks, future
        inventory forecasts, and product metadata for a specific TI part number.
        Part numbers containing /NOPB must be URL-encoded (/ becomes %2F).
      tags:
        - Products
      parameters:
        - name: partNumber
          in: path
          required: true
          description: >-
            TI part number (OPN). URL-encode special characters (e.g., /NOPB
            becomes %2FNOPB).
          schema:
            type: string
          example: LM358BIDR
        - name: currency
          in: query
          required: false
          description: Currency code for pricing data (e.g., USD, EUR)
          schema:
            type: string
            default: USD
      responses:
        '200':
          description: Product inventory and pricing data
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProductInventory'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'

  /products/catalog:
    get:
      operationId: getProductCatalog
      summary: Get Product Catalog
      description: >-
        Retrieves inventory and pricing data for all available TI part numbers.
        Rate limited to 1 request every 4 hours (6 per day). Returns the full
        catalog for bulk import use cases.
      tags:
        - Products
      parameters:
        - name: currency
          in: query
          required: false
          description: Currency code for pricing data
          schema:
            type: string
            default: USD
      responses:
        '200':
          description: Full product catalog with inventory and pricing
          content:
            application/json:
              schema:
                type: object
                properties:
                  products:
                    type: array
                    items:
                      $ref: '#/components/schemas/ProductInventory'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/RateLimited'

  /orders:
    post:
      operationId: createOrder
      summary: Create Order
      description: >-
        Creates a new TI store order for one or more part numbers. Returns
        the order number, line item statuses, pricing, shipping and billing
        details. Returns HTTP 201 on success.
      tags:
        - Orders
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/OrderRequest'
      responses:
        '201':
          description: Order created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'

  /orders/{orderNumber}:
    get:
      operationId: getOrder
      summary: Get Order
      description: >-
        Retrieves the status and details of a specific TI store order by
        order number. Returns line item statuses, shipping details, and
        pricing information.
      tags:
        - Orders
      parameters:
        - name: orderNumber
          in: path
          required: true
          description: TI order number
          schema:
            type: string
          example: 1234567890
      responses:
        '200':
          description: Order details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OrderResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'

  /advanced-ship-notices:
    get:
      operationId: getAdvancedShipNotices
      summary: Get Advanced Ship Notices
      description: >-
        Retrieves advanced ship notice (ASN) information for shipments
        associated with a specific order, including tracking numbers,
        carrier information, and commercial invoice details.
      tags:
        - Shipments
      parameters:
        - name: orderNumber
          in: query
          required: true
          description: TI order number to retrieve ASNs for
          schema:
            type: string
      responses:
        '200':
          description: Advanced ship notice data
          content:
            application/json:
              schema:
                type: object
                properties:
                  advancedShipNotices:
                    type: array
                    items:
                      $ref: '#/components/schemas/AdvancedShipNotice'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'

  /financial-documents:
    get:
      operationId: getFinancialDocuments
      summary: Get Financial Documents
      description: >-
        Retrieves invoice and financial document information. At least one
        query parameter is required: orderNumber, financialDocumentNumber,
        deliveryNumber, or customerPurchaseOrderNumber. Documents are
        available after TI processes shipment.
      tags:
        - Financial
      parameters:
        - name: orderNumber
          in: query
          required: false
          description: TI order number
          schema:
            type: string
        - name: financialDocumentNumber
          in: query
          required: false
          description: Financial document or invoice number
          schema:
            type: string
        - name: deliveryNumber
          in: query
          required: false
          description: Delivery number
          schema:
            type: string
        - name: customerPurchaseOrderNumber
          in: query
          required: false
          description: Customer purchase order number
          schema:
            type: string
      responses:
        '200':
          description: Financial document data
          content:
            application/json:
              schema:
                type: object
                properties:
                  financialDocuments:
                    type: array
                    items:
                      $ref: '#/components/schemas/FinancialDocument'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'

components:
  securitySchemes:
    OAuth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://transact.ti.com/v1/oauth/accesstoken
          scopes: {}
      description: >-
        OAuth 2.0 client credentials flow. Obtain access token using
        client_id and client_secret from your myTI company account.

  responses:
    BadRequest:
      description: Invalid request parameters
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Invalid or missing authentication token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    RateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'

  schemas:
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string

    PriceBreak:
      type: object
      description: Quantity-based price break for a TI part.
      properties:
        priceBreakQuantity:
          type: integer
          description: Minimum quantity for this price tier
        price:
          type: number
          format: decimal
          description: Unit price at this quantity break

    Pricing:
      type: object
      properties:
        currency:
          type: string
          description: Currency code (e.g., USD)
        priceBreaks:
          type: array
          items:
            $ref: '#/components/schemas/PriceBreak'

    FutureInventory:
      type: object
      properties:
        forecastQuantity:
          type: integer
          nullable: true
          description: Forecasted available quantity
        forecastDate:
          type: string
          description: Expected availability date

    ProductInventory:
      type: object
      description: Inventory, pricing, and metadata for a TI part number.
      properties:
        tiPartNumber:
          type: string
          description: TI part number (OPN)
        genericPartNumber:
          type: string
          description: Generic/base part number
        description:
          type: string
          description: Part description
        quantity:
          type: integer
          description: Current available stock quantity
        limit:
          type: integer
          description: Maximum quantity per order
        minimumOrderQuantity:
          type: integer
          description: Minimum order quantity
        standardPackQuantity:
          type: integer
          description: Standard packaging quantity
        lifeCycle:
          type: string
          description: Product lifecycle status (e.g., Active, NRND, Obsolete)
        eccn:
          type: string
          description: Export Control Classification Number
        htsCode:
          type: string
          description: Harmonized Tariff Schedule code
        pinCount:
          type: integer
          description: Number of pins
        packageType:
          type: string
          description: Package type (e.g., SOIC, QFP)
        packageCarrier:
          type: string
          description: Package carrier type (e.g., Tape and Reel)
        customReel:
          type: boolean
          description: Whether custom reel is available
        pricing:
          type: array
          items:
            $ref: '#/components/schemas/Pricing'
        futureInventory:
          type: array
          items:
            $ref: '#/components/schemas/FutureInventory'

    OrderLineItem:
      type: object
      properties:
        customerLineItemNumber:
          type: integer
          description: Customer-assigned line item number
        tiPartNumber:
          type: string
          description: TI part number to order
        customerPartNumber:
          type: string
          description: Customer's internal part number (optional)
        customReelIndicator:
          type: boolean
          description: Request custom reel packaging
        quantity:
          type: integer
          description: Order quantity
        customerItemComments:
          type: array
          items:
            type: object
            properties:
              message:
                type: string

    OrderRequest:
      type: object
      required:
        - checkoutProfileId
        - lineItems
      properties:
        checkoutProfileId:
          type: string
          description: Checkout profile ID from your TI account
        customerPurchaseOrderNumber:
          type: string
          description: Your internal purchase order number
        purchaseOrderDate:
          type: string
          format: date
          description: Purchase order date in ISO 8601 format
        endCustomerCompanyName:
          type: string
          description: End customer company name (for export compliance)
        expediteShipping:
          type: boolean
          description: Request expedited shipping
          default: false
        customerOrderComments:
          type: array
          items:
            type: object
            properties:
              message:
                type: string
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/OrderLineItem'

    OrderResponseLineItem:
      type: object
      properties:
        tiPartNumber:
          type: string
        tiPartDescription:
          type: string
        quantity:
          type: integer
        status:
          type: string
        unitPrice:
          type: number
        customReelIndicator:
          type: boolean

    Address:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        company:
          type: string
        addressLine1:
          type: string
        addressLine2:
          type: string
        city:
          type: string
        state:
          type: string
        postalCode:
          type: string
        country:
          type: string
        email:
          type: string
        phone:
          type: string

    OrderResponse:
      type: object
      properties:
        orderNumber:
          type: string
          description: TI-assigned order number
        orderStatus:
          type: string
          description: Current order status
        customerPurchaseOrderNumber:
          type: string
        orderPlacedTime:
          type: string
          format: date-time
        subTotal:
          type: number
        totalPrice:
          type: number
        totalTax:
          type: number
        totalDeliveryCost:
          type: number
        totalDiscount:
          type: number
        currencyISO:
          type: string
        paymentType:
          type: string
        checkoutProfileIdentifier:
          type: string
        shippingAddress:
          $ref: '#/components/schemas/Address'
        billingAddress:
          $ref: '#/components/schemas/Address'
        lineItems:
          type: array
          items:
            $ref: '#/components/schemas/OrderResponseLineItem'
        orderMessages:
          type: array
          items:
            type: object
            properties:
              message:
                type: string

    AdvancedShipNotice:
      type: object
      description: Shipment tracking and carrier information for a TI order.
      properties:
        asnNumber:
          type: string
          description: Advanced Ship Notice number
        orderNumber:
          type: string
        trackingNumber:
          type: string
          description: Carrier tracking number
        carrier:
          type: string
          description: Carrier name (e.g., FedEx, UPS)
        shipDate:
          type: string
          format: date
        estimatedDeliveryDate:
          type: string
          format: date
        lineItems:
          type: array
          items:
            type: object
            properties:
              tiPartNumber:
                type: string
              quantity:
                type: integer

    FinancialDocument:
      type: object
      description: Invoice and financial document from TI.
      properties:
        financialDocumentNumber:
          type: string
          description: Invoice or financial document number
        orderNumber:
          type: string
        deliveryNumber:
          type: string
        invoiceAmount:
          type: number
        invoiceDate:
          type: string
          format: date
        currencyISO:
          type: string
        documentType:
          type: string
          description: Type of financial document (e.g., Invoice, Credit Memo)