Skip to content

ATS / PPEX

All requests require clientID and developerAPIKey parameters for authentication.

Base URL: https://api-sandboxdash.norcapsecurities.com

Endpoints


POST /v3/cancelOrder

Cancel the order

Parameters

Parameter Type Required Description
orderid string Yes orderid

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/cancelOrder
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d orderid=41994

Response

Field Type Description
orderStatus string Pending / Live / Rejected / Cancelled / Partially Executed

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "orderStatus": "Cancelled"
}

POST /v3/createOrder

Create the Order

Parameters

Parameter Type Required Description
memberid string Yes Member ID
issuerid sting Yes PPEX Issuer ID
accountid string No Investor placing the order
securityid string Yes Security ID
type conditional Yes Limit / RFQ
action conditional Yes Buy / Sell
quantity integer Yes Number of shares
price decimal Yes Price per share
expiration conditional Yes GTC / Day / Other
expirationDate date No Date if "Other" is selected
disclosePrice conditional Yes Yes / No, if "no" is selected, price is not shown on order book
contingencies conditional No All or None / Minimum Quantity / "" or None, if All or None, order cannot be partially executed, if Minimum Quantity, order will not execute unless threshold is met, if blank or none - no contingencies
minimumThreshold integer No Minimum Quantity of Shares required for the trade to execute
solicited string Yes Solicited / Unsolicited
token string No Value for identifying the responses

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createOrder
-d clientID=someClient Id 
-d developerAPIKey=somedeveloperAPIKey  
-d memberid=memberid
-d issuerid=issuerid
-d accountid=accountid
-d securityid= securityid
-d type=type
-d action=action
-d quantity=quantity
-d price=price
-d expiration=expiration
-d expirationDate=expirationDate
-d disclosePrice=disclosePrice
-d contingencies=All or None
-d minimumThreshold=
-d solicited=Unsolicited
-d token=some value

Response

Field Type Description
orderid string Order ID
orderStatus string Pending / Live / Rejected / Cancelled / Partially Executed / Executed

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "orderid": "325253233",
  "orderStatus": "orderStatus",
  "token": "some value"
}

POST /v3/createSecurityMarketHours

Parameters

Parameter Type Required Description
securityId string Yes Security ID
mondayClosed string No "yes" if the market is closed, null if hours are specified
mondayHoursStart string No specified time (EST)
mondayHoursEnd string No specified time (EST)
tuesdayClosed string No "yes" if the market is closed, null if hours are specified
tuesdayHoursStart string No specified time (EST)
tuesdayHoursEnd string No specified time (EST)
wednesdayClosed string No "yes" if the market is closed, null if hours are specified
wednesdayHoursStart string No specified time (EST)
wednesdayHoursEnd string No specified time (EST)
thursdayClosed string No "yes" if the market is closed, null if hours are specified
thursdayHoursStart string No specified time (EST)
thursdayHoursEnd string No specified time (EST)
fridayClosed string No "yes" if the market is closed, null if hours are specified
fridayHoursStart string No specified time (EST)
fridayHoursEnd string No specified time (EST)

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/createSecurityMarketHours
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey
 -d securityId=94216
 -d mondayHoursStart=06:01
 -d mondayHoursEnd=16:01
 -d mondayClosed=no
-d tuesdayHoursStart=06:01
 -d tuesdayHoursEnd=16:01
 -d tuesdayClosed=no
-d wednesdayHoursStart=06:01
 -d wednesdayHoursEnd=16:01
 -d wednesdayClosed=no
-d thursdayHoursStart=06:01
 -d thursdayHoursEnd=16:01
 -d thursdayClosed=no
-d fridayHoursStart=06:01
 -d fridayHoursEnd=16:01
 -d fridayClosed=no

Response

Field Type Description
securityHoursDetails string Array of details of the hours for security ID

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "securityHoursDetails": {
    "securityId": "94216",
    "mondayClosed": "No",
    "mondayStartHours": "6",
    "mondayStartMins": "1",
    "mondayCloseHours": "23",
    "mondayCloseMins": "59",
    "tuesdayClosed": "No",
    "tuesdayStartHours": "5",
    "tuesdayStartMins": "15",
    "tuesdayCloseHours": "23",
    "tuesdayCloseMins": "59",
    "wednesdayClosed": "No",
    "wednesdayStartHours": "3",
    "wednesdayStartMins": "0",
    "wednesdayCloseHours": "23",
    "wednesdayCloseMins": "59",
    "thursdayClosed": "No",
    "thursdayStartHours": "0",
    "thursdayStartMins": "0",
    "thursdayCloseHours": "23",
    "thursdayCloseMins": "59",
    "fridayClosed": "No",
    "fridayStartHours": "0",
    "fridayStartMins": "0",
    "fridayCloseHours": "23",
    "fridayCloseMins": "59"
  }
}

POST /v3/deleteSecurityMarketHours

Parameters

Parameter Type Required Description
securityId string Yes Security ID

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/deleteSecurityMarketHours
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey
 -d securityId=94216

Response

Field Type Description
securityHoursDetails string Success

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "securityHoursDetails": "Security market hour deleted successfully."
}

POST /v3/getClob

Parameters

Parameter Type Required Description
securityID string Yes Security ID for PPEX/ATS
issuerID integer Yes Issuer ID for PPEX/ATS

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getClob
-d clientID=someClient Id 
-d developerAPIKey=somedeveloperAPIKey  
-d securityID= securityID
-d issuerID= issuerID

Response

Field Type Description
orderDetailsAll array Array of CLOB details

Example Response

{
    "statusCode": "101",
    "statusDesc": "Ok",
     "orderDetailsAll":"{
        "securityID": "77654",
        "orderDetailsBid": "90.00",
        "orderDetailsOffer": "100.00",
}
}

POST /v3/getIssuerApprovedSecurities

Parameters

Parameter Type Required Description
issuerID string Yes Issuer ID

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getIssuerApprovedSecurities
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey
 -d issuerID=77654

Response

Field Type Description
issuerDetails array An array of issuer approved securities list

Example Response

{
    "statusCode": "101",
    "statusDesc": "Ok",
    "issuerDetails": [{
        "SecurityID": "77654",
        "SecurityName": "Tesla",
                 },{
        "SecurityID": "25644",
        "SecurityName": "Carta",
                 }]
}

POST /v3/getMarketHolidays

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getMarketHolidays
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "globalMarketHolidays": {
    "saturdayclosed": "Yes",
    "saturdayStartHours": "0",
    "saturdayStartMins": "0",
    "saturdayCloseHours": "0",
    "saturdayCloseMins": "0",
    "sundayclosed": "Yes",
    "sundayStartHours": "0",
    "sundayStartMins": "0",
    "sundayCloseHours": "0",
    "sundayCloseMins": "0"
  }
}

POST /v3/getMarketHours

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getMarketHours
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey

Response

Field Type Description
globalMarketHours string Array of details for the PPEX global market hours

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "globalMarketHours": {
    "mondayclosed": "No",
    "mondayStartHours": "6",
    "mondayStartMins": "0",
    "mondayCloseHours": "23",
    "mondayCloseMins": "59",
    "tuesdayclosed": "No",
    "tuesdayStartHours": "5",
    "tuesdayStartMins": "15",
    "tuesdayCloseHours": "23",
    "tuesdayCloseMins": "59",
    "wednesdayclosed": "No",
    "wednesdayStartHours": "1",
    "wednesdayStartMins": "0",
    "wednesdayCloseHours": "23",
    "wednesdayCloseMins": "59",
    "thursdayclosed": "No",
    "thursdayStartHours": "0",
    "thursdayStartMins": "0",
    "thursdayCloseHours": "23",
    "thursdayCloseMins": "59",
    "fridayclosed": "No",
    "fridayStartHours": "0",
    "fridayStartMins": "0",
    "fridayCloseHours": "23",
    "fridayCloseMins": "59"
  }
}

POST /v3/getMatchedTrade

Parameters

Parameter Type Required Description
matchId string Yes Match/Trade ID

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getMatchedTrade
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d matchId=232242322

Response

Field Type Description
matchedTradeDetails string Array of trade details

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "matchedTradeDetails": [
    {
      "executionTime": 1621589083.2639,
      "numberOfShares": 56,
      "Price": 8,
      "OrdersMatched": [
        {
          "askOrderId": 23467891,
          "bidOrderId": 130486295
        }
      ]
    }
  ]
}

POST /v3/getOrder

Parameters

Parameter Type Required Description
orderid string Yes Order ID
token string No Value for identifying the responses

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getOrder
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d orderid=232242322

Response

Field Type Description
orderDetails string Array of order includes all information of the matched order

POST /v3/getOrderBook

Parameters

Parameter Type Required Description
securityID string Yes Security ID for the PPEX/ATS
issuerID integer Yes Issuer ID

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getOrderBook
-d clientID=someClient Id 
-d developerAPIKey=somedeveloperAPIKey  
-d securityID= securityID
-d issuerID= issuerID

Response

Field Type Description
orderDetailsAll string Get security order details array

Example Response

{
    "statusCode": "101",
    "statusDesc": "Ok",
     "orderDetailsAll":"[{
                 "security_name":"Instacart",
                 "Action":"Buy",
                 "number_shares":18",
                 "share_per_price":"RFQ",
                 "total_amount":"RFQ",
                },
                {"security_name":"Instacart",
                 "Action":"Buy",
                 "number_shares":33",
                 "share_per_price":"RFQ",
                 "total_amount":"RFQ",
                },
                {"security_name":"Instacart",
                 "Action":"Sell",
                 "number_shares":15",
                 "share_per_price":"15.0",
                 "total_amount":"225.00",
                 }]"
}

POST /v3/getOrdersForADay

Deprecated

Use ppex/orders with a createdDate filter instead. See Filtering orders by date for an example.


POST /v3/getSecurityInformation

Parameters

Parameter Type Required Description
securityID string Yes Security ID for the ATS/PPEX
issuerID integer Yes Issuer ID

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getSecurityInformation
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey
 -d securityID=658656
-d issuerID= issuerID

Response

Field Type Description
securityDetails string Array of security information

Example Response

{
    "statusCode": "101",
    "statusDesc": "Ok",
    "SecurityDetails": {
        "securityID": "977654",
        "IssuerName": "Carta",
        "SecurityName": "Carta",
        "Ticker": "Ticker",
        "CUSIP": "CUSIP",
        "Industries": "Industries",
        "SecurityType": "CommonEquity",
        "Description": "CompanyBio      
    }
}

POST /v3/getSecurityMarketHours

Parameters

Parameter Type Required Description
securityId string Yes Security ID

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getSecurityMarketHours
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey
 -d securityId=94216

Response

Field Type Description
securityHoursDetails string Array of details of the hours for security ID

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "securityHoursDetails": {
    "securityId": "94216",
    "mondayClosed": "No",
    "mondayStartHours": "6",
    "mondayStartMins": "1",
    "mondayCloseHours": "23",
    "mondayCloseMins": "59",
    "tuesdayClosed": "No",
    "tuesdayStartHours": "5",
    "tuesdayStartMins": "15",
    "tuesdayCloseHours": "23",
    "tuesdayCloseMins": "59",
    "wednesdayClosed": "No",
    "wednesdayStartHours": "3",
    "wednesdayStartMins": "0",
    "wednesdayCloseHours": "23",
    "wednesdayCloseMins": "59",
    "thursdayClosed": "No",
    "thursdayStartHours": "0",
    "thursdayStartMins": "0",
    "thursdayCloseHours": "23",
    "thursdayCloseMins": "59",
    "fridayClosed": "No",
    "fridayStartHours": "0",
    "fridayStartMins": "0",
    "fridayCloseHours": "23",
    "fridayCloseMins": "59"
  }
}

POST /v3/getSettlementStatus

Parameters

Parameter Type Required Description
tradeID string Yes Matched Trade ID from PPEX

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/getSettlementStatus
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey
 -d tradeID=77654

Response

Field Type Description
tradeDetails string Array of trade details

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "tradeDetails": {
    "memberid": 123,
    "issuerid": 123,
    "tradeID": 1235,
    "tradeStatus": "SETTLED"
  }
}

POST /v3/notifySettlement

Parameters

Parameter Type Required Description
memberid string Yes PPEX Member ID
issuerid string Yes Issuer ID
tradeID string Yes Trade ID (same as Match ID)
tradeStatus string Yes Settled/Canceled

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/notifySettlement
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d memberid=123456
-d issuerid=489651
-d tradeID=5474684246
-d tradeStatus=Settled

Response

Field Type Description
tradeStatus string Status as entered from the tradeStatus

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "tradeStatus": "Settled"
}

GET /v3/ppex/orders

Retrieves a paginated list of PPEX orders with support for filtering, sorting, and optional trade inclusion. This endpoint replaces the deprecated getOrdersForADay.

Parameters

Parameter Type Required Description
offset integer No Starting index for pagination. Default: 0
limit integer No Number of records to return. Default: 10
filter JSON No Filter criteria (see Filtering orders by date)
sort string No Sort field and direction
include string No Set to trades to include matched trades nested within each order

Example Request

curl -k -X GET "https://api-sandboxdash.norcapsecurities.com/v3/ppex/orders?offset=0&limit=10" \
 -H "clientID: someclientid" \
 -H "developerAPIKey: somedeveloperkey"

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "ppex_orders": [
    {
      "securityId": "28365032",
      "securityName": "ABCD",
      "expirationType": "1",
      "expirationDate": "2025-06-14",
      "memberId": "777",
      "orderId": "2482",
      "accountId": "A04834434",
      "accountName": "Retirement A/C",
      "securityType": "Offer",
      "shares": "359.430914",
      "remainingShares": "953.744306",
      "sharePrice": "4.530231",
      "amount": "460186.965273",
      "priceNotDisplayed": "No",
      "allOrNone": "No",
      "status": "Inactive",
      "type": "Yes",
      "tradeStatus": "Pending",
      "orderStatus": "Pending",
      "tradeOrderStatus": "CREATED",
      "negotiationStatus": "Pending",
      "deleted": "Active",
      "createdDate": "2024-12-10 00:00:00",
      "updatedBy": "0",
      "updatedDate": "2022-08-28 00:00:00",
      "executionTime": "5.45",
      "contingencies": "All",
      "solicited": "No",
      "minimumQuantity": "87.741240",
      "operationHrStatus": "1",
      "origination": "platform",
      "cancelDate": "2025-02-10 22:08:45",
      "cancelExecutionTime": "0",
      "token": "b8s0zjstfaf"
    }
  ],
  "pagination": {
    "totalRecords": 142,
    "startIndex": 0,
    "endIndex": 9
  }
}

Filtering orders by date

To replicate the deprecated getOrdersForADay behavior, use the filter parameter with createdDate and include=trades:

curl -k -X GET "https://api-sandboxdash.norcapsecurities.com/v3/ppex/orders?include=trades&limit=100&filter=%7B%22createdDate%22%3A%222026-03-24%22%7D" \
 -H "clientID: someclientid" \
 -H "developerAPIKey: somedeveloperkey"

The filter parameter is a URL-encoded JSON object:

{"createdDate": "2026-03-24"}

When include=trades is set, each order includes a trades array with matched trade details:

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "ppex_orders": [
    {
      "orderId": "2482",
      "securityId": "28365032",
      "securityName": "ABCD",
      "securityType": "Offer",
      "shares": "359.430914",
      "sharePrice": "4.530231",
      "status": "Live",
      "createdDate": "2026-03-24 11:24:59",
      "trades": [
        {
          "tradeId": "81",
          "transactionType": "BUY",
          "shares": "100.000000",
          "sharePrice": "4.530231",
          "amount": "453.023100",
          "status": "SETTLED",
          "createdDate": "2026-03-24 14:30:00"
        }
      ]
    }
  ],
  "pagination": {
    "totalRecords": 15,
    "startIndex": 0,
    "endIndex": 14
  }
}

POST /v3/ppex/orders/{id}

This endpoint retrieves a single PPEX order.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "ppex_order": {
    "securityId": "28365032",
    "securityName": "AAPL",
    "expirationType": "1",
    "expirationDate": "2025-06-14",
    "memberId": "777",
    "orderId": "2482",
    "accountId": "A04834434",
    "accountName": "Retirement A/C",
    "securityType": "Offer",
    "shares": "359.430914",
    "remainingShares": "953.744306",
    "sharePrice": "4.530231",
    "amount": "460186.965273",
    "priceNotDisplayed": "No",
    "allOrNone": "No",
    "status": "Inactive",
    "type": "Yes",
    "tradeStatus": "Pending",
    "orderStatus": "Pending",
    "tradeOrderStatus": "CREATED",
    "negotiationStatus": "Pending",
    "deleted": "Active",
    "createdDate": "2024-12-10 00:00:00",
    "updatedBy": "0",
    "updatedDate": "2022-08-28 00:00:00",
    "executionTime": "5.45",
    "contingencies": "All",
    "solicited": "No",
    "minimumQuantity": "87.741240",
    "operationHrStatus": "1",
    "origination": "platform",
    "cancelDate": "2025-02-10 22:08:45",
    "cancelExecutionTime": "0",
    "token": "b8s0zjstfaf"
  }
}

POST /v3/ppex/trades

This endpoint retrieves a list of PPEX trades. It supports pagination, filtering, and sorting capabilities.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "ppex_trades": [
    {
      "memberId": "777",
      "askId": "180",
      "bidId": "126",
      "offeringId": "549119",
      "accountId": "ACCpiyiqzn0",
      "partyType": "SELLER",
      "tradeId": "81",
      "transactionType": "BUY",
      "amount": "2906.113302",
      "sharePrice": "83.307155",
      "shares": "564.183958",
      "status": "PENDING",
      "reportingStatus": "FAILED",
      "createdDate": "2024-12-10 00:00:00",
      "deleted": "0",
      "executionTime": "485",
      "updatedDate": "2022-02-13 00:00:00"
    }
  ],
  "pagination": {
    "totalRecords": 100,
    "startIndex": 0,
    "endIndex": 0
  }
}

POST /v3/ppex/trades/{id}

This endpoint retrieves a single PPEX trade.

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "ppex_trade": {
    "memberId": "777",
    "askId": "180",
    "bidId": "126",
    "offeringId": "549119",
    "accountId": "ACCpiyiqzn0",
    "partyType": "SELLER",
    "tradeId": "81",
    "transactionType": "BUY",
    "amount": "2906.113302",
    "sharePrice": "83.307155",
    "shares": "564.183958",
    "status": "PENDING",
    "reportingStatus": "FAILED",
    "createdDate": "2024-12-10 00:00:00",
    "deleted": "0",
    "executionTime": "485",
    "updatedDate": "2022-02-13 00:00:00"
  }
}

POST /v3/sendOrderAttestation

Parameters

Parameter Type Required Description
memberId string Yes Member ID on PPEX
issuerId string Yes Issuer ID
orderID string Yes Order ID
approval string Yes Yes/No
signature string No Investor Typed Digital Signature

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/sendOrderAttestation
-d clientID=someclientid
-d developerAPIKey=somedeveloperkey
-d memberId=A55473
-d issuerId=148745
-d orderID=465325641
-d approval=Yes/No
-d signature=tesst

Response

Field Type Description
orderAttestationDetails string Array of orderAttestationDetails

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "orderAttestationDetails": {
    "Order Id": "611587001",
    "Approval": "Yes",
    "Signature": "test",
    "Attestation Timestamp": "2021-08-10 05:59:56",
    "IP address": "103.114.208.58"
  }
}

POST /v3/updateSecurityMarketHours

Parameters

Parameter Type Required Description
securityId string Yes Security ID
mondayHoursStart string No specified time (EST)
mondayHoursEnd string No specified time (EST)
mondayClosed string No "yes" if the market is closed, null if hours are specified
tuesdayHoursStart string No specified time (EST)
tuesdayHoursEnd string No specified time (EST)
tuesdayClosed string No "yes" if the market is closed, null if hours are specified
wednesdayHoursStart string No specified time (EST)
wednesdayHoursEnd string No specified time (EST)
wednesdayClosed string No "yes" if the market is closed, null if hours are specified
thursdayHoursStart string No specified time (EST)
thursdayHoursEnd string No specified time (EST)
thursdayClosed string No "yes" if the market is closed, null if hours are specified
fridayHoursStart string No specified time (EST)
fridayHoursEnd string No specified time (EST)
fridayClosed string No "yes" if the market is closed, null if hours are specified

Example Request

curl -k -X POST https://api-sandboxdash.norcapsecurities.com/v3/updateSecurityMarketHours
 -d clientID=someclientid
 -d developerAPIKey=somedeveloperkey
 -d securityId=94216
 -d mondayHoursStart=06:01
 -d mondayHoursEnd=16:01
 -d mondayClosed=no
-d tuesdayHoursStart=06:01
 -d tuesdayHoursEnd=16:01
 -d tuesdayClosed=no
-d wednesdayHoursStart=06:01
 -d wednesdayHoursEnd=16:01
 -d wednesdayClosed=no
-d thursdayHoursStart=06:01
 -d thursdayHoursEnd=16:01
 -d thursdayClosed=no
-d fridayHoursStart=06:01
 -d fridayHoursEnd=16:01
 -d fridayClosed=no

Response

Field Type Description
securityHoursDetails string Array of details of the hours for security ID

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "securityHoursDetails": {
    "securityId": "94216",
    "mondayClosed": "No",
    "mondayStartHours": "6",
    "mondayStartMins": "1",
    "mondayCloseHours": "23",
    "mondayCloseMins": "59",
    "tuesdayClosed": "No",
    "tuesdayStartHours": "5",
    "tuesdayStartMins": "15",
    "tuesdayCloseHours": "23",
    "tuesdayCloseMins": "59",
    "wednesdayClosed": "No",
    "wednesdayStartHours": "3",
    "wednesdayStartMins": "0",
    "wednesdayCloseHours": "23",
    "wednesdayCloseMins": "59",
    "thursdayClosed": "No",
    "thursdayStartHours": "0",
    "thursdayStartMins": "0",
    "thursdayCloseHours": "23",
    "thursdayCloseMins": "59",
    "fridayClosed": "No",
    "fridayStartHours": "0",
    "fridayStartMins": "0",
    "fridayCloseHours": "23",
    "fridayCloseMins": "59"
  }
}

GET /v3/ppex/market/holidays

Returns market holidays within a date range from the holiday calendar. Defaults to the current date through year-end if no range is specified.

Parameters

Parameter Type Required Description
startDate string No Start of date range (YYYY-MM-DD). Defaults to today
endDate string No End of date range (YYYY-MM-DD). Defaults to Dec 31 of current year

Example Request

curl -k https://api-sandboxdash.norcapsecurities.com/v3/ppex/market/holidays \
 -H "Authorization: Bearer someclientid:somedeveloperkey" \
 -G -d startDate=2026-01-01 \
 -d endDate=2026-12-31

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "marketHolidays": [
    {
      "date": "2026-01-01",
      "description": "New Year's Day"
    },
    {
      "date": "2026-01-19",
      "description": "Martin Luther King Jr. Day"
    },
    {
      "date": "2026-07-03",
      "description": "Independence Day (Observed)"
    }
  ]
}

Error Responses

Status Code Condition Example statusDesc
1400 startDate or endDate not in YYYY-MM-DD format Bad request: startDate must be in YYYY-MM-DD format
{
  "statusCode": "1400",
  "statusDesc": "Bad request: startDate must be in YYYY-MM-DD format"
}

GET /v3/ppex/market/hours

Returns the weekly trading schedule (Monday–Sunday). If a securityId is provided, returns security-specific custom hours when configured; otherwise returns the global market schedule.

Parameters

Parameter Type Required Description
securityId string No Security ID for security-specific hours

Example Request

curl -k https://api-sandboxdash.norcapsecurities.com/v3/ppex/market/hours \
 -H "Authorization: Bearer someclientid:somedeveloperkey"

Response

Field Type Description
marketHours.timezone string Always America/New_York
marketHours.hoursSource string global or security
marketHours.schedule array Array of 7 day entries
schedule[].day string Day name (monday–sunday)
schedule[].dayOfWeek integer ISO day number (1=Monday, 7=Sunday)
schedule[].closed boolean Whether the market is closed this day
schedule[].open string Opening time (HH:MM) or null if closed
schedule[].close string Closing time (HH:MM) or null if closed

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "marketHours": {
    "timezone": "America/New_York",
    "hoursSource": "global",
    "schedule": [
      {
        "day": "monday",
        "dayOfWeek": 1,
        "closed": false,
        "open": "06:00",
        "close": "17:00"
      },
      {
        "day": "tuesday",
        "dayOfWeek": 2,
        "closed": false,
        "open": "06:00",
        "close": "17:00"
      },
      {
        "day": "saturday",
        "dayOfWeek": 6,
        "closed": true,
        "open": null,
        "close": null
      }
    ]
  }
}

GET /v3/ppex/market/schedule

Returns a date-by-date merged schedule combining weekly trading hours with holiday closures. Maximum range is 90 days. If no endDate is provided, defaults to 30 days from startDate.

Parameters

Parameter Type Required Description
securityId string No Security ID for security-specific hours
startDate string No Start date (YYYY-MM-DD). Defaults to today
endDate string No End date (YYYY-MM-DD). Defaults to startDate + 30 days. Max 90 days from startDate

Example Request

curl -k https://api-sandboxdash.norcapsecurities.com/v3/ppex/market/schedule \
 -H "Authorization: Bearer someclientid:somedeveloperkey" \
 -G -d startDate=2026-03-23 \
 -d endDate=2026-03-27

Response

Field Type Description
marketSchedule.timezone string Always America/New_York
marketSchedule.hoursSource string global or security
marketSchedule.startDate string Start date of the range
marketSchedule.endDate string End date of the range
marketSchedule.dates array Array of per-date entries
dates[].date string Date (YYYY-MM-DD)
dates[].day string Day name
dates[].open string Opening time (HH:MM) or null if closed
dates[].close string Closing time (HH:MM) or null if closed
dates[].closed boolean Whether the market is closed
dates[].closedReason string holiday, weekend, day_closed, or null
dates[].holidayDescription string Holiday name (only present for holidays)

Example Response

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "marketSchedule": {
    "timezone": "America/New_York",
    "hoursSource": "global",
    "startDate": "2026-03-23",
    "endDate": "2026-03-27",
    "dates": [
      {
        "date": "2026-03-23",
        "day": "monday",
        "open": "06:00",
        "close": "17:00",
        "closed": false,
        "closedReason": null
      },
      {
        "date": "2026-03-25",
        "day": "wednesday",
        "open": "06:00",
        "close": "17:00",
        "closed": false,
        "closedReason": null
      },
      {
        "date": "2026-03-27",
        "day": "friday",
        "open": null,
        "close": null,
        "closed": true,
        "closedReason": "holiday",
        "holidayDescription": "Good Friday"
      }
    ]
  }
}

Error Responses

Status Code Condition Example statusDesc
1400 startDate or endDate not in YYYY-MM-DD format Bad request: startDate must be in YYYY-MM-DD format
1400 Range exceeds 90 days from startDate Bad request: range must be within 90 days of startDate
1400 endDate is before startDate Bad request: endDate must be on or after startDate
{
  "statusCode": "1400",
  "statusDesc": "Bad request: endDate must be on or after startDate"
}

GET /v3/ppex/market/status

Returns whether the PPEX market is currently open or closed, including the reason for closure. Checks holidays first, then the weekly schedule for the current day.

Parameters

Parameter Type Required Description
securityId string No Security ID for security-specific hours

Example Request

curl -k https://api-sandboxdash.norcapsecurities.com/v3/ppex/market/status \
 -H "Authorization: Bearer someclientid:somedeveloperkey"

Response

Field Type Description
marketStatus.isOpen boolean Whether the market is currently open
marketStatus.currentTime string Current time in ISO 8601 format
marketStatus.timezone string Always America/New_York
marketStatus.openTime string Today's opening time (HH:MM) or null
marketStatus.closeTime string Today's closing time (HH:MM) or null
marketStatus.hoursSource string global or security; null only when closedReason is holiday
marketStatus.closedReason string holiday, weekend, day_closed, outside_hours, or null if open. outside_hours indicates a normal trading weekday outside today's open/close window.

Example Response (Open)

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "marketStatus": {
    "isOpen": true,
    "currentTime": "2026-03-24T10:30:00-04:00",
    "timezone": "America/New_York",
    "openTime": "06:00",
    "closeTime": "17:00",
    "hoursSource": "global",
    "closedReason": null
  }
}

Example Response (Closed — Holiday)

{
  "statusCode": "101",
  "statusDesc": "Ok",
  "marketStatus": {
    "isOpen": false,
    "currentTime": "2026-01-01T12:00:00-05:00",
    "timezone": "America/New_York",
    "openTime": null,
    "closeTime": null,
    "hoursSource": null,
    "closedReason": "holiday"
  }
}