Performance Center Data API (1.0.0)

Download OpenAPI specification:Download

Introduction

The SPS Commerce Performance Center API is a great tool to provide you access to data for your own analysis. Our API uses the REST architecture and follows the OpenAPI specifications. Our API returns JSON-encoded responses and uses standard HTTP response codes and verbs. HTTPS is required for our API.

Additional Resources:

OpenAPI Specification

The goal of The OpenAPI Specification is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined via OpenAPI, a consumer can understand and interact with the remote service with a minimal amount of implementation logic. Similar to what interfaces have done for lower-level programming, OpenAPI removes the guesswork in calling the service.

Authentication

Available authentication methods for Performance Center:

  • Basic Authentication

basic_auth

The endpoint requires an authorization header containing a Base64 encoded string in the format of "KeyName:ApiKey"

Security Scheme Type: HTTP
HTTP Authorization Scheme: basic

Version History

The goal of The OpenAPI Specification is to define a standard, language-agnostic interface to REST APIs which

Charge

The Charge API allows Performance Center customers to retrieve Charge information. Data can be retrieve in fiscal month increments.

Retrieve details for transmitted/approved charges.

This API endpoint returns JSON data representing the charge detail information for a specific fiscal month/year. This could return an array of one or more Charge details. Required parameters are FiscalYear and FiscalMonth.

Access to this endpoint may differ based on user permissions.

Authorizations:
basic_auth
query Parameters
FiscalYear
number

Fiscal year value in YYYY format.

FiscalMonth
number

Fiscal month value in MM format.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Trouble

The Trouble API allows Performance Center customers to retrieve Trouble information for a given PO. The Trouble API allows Performance Center customers to create and report merchandise receiving issues (Troubles). Important: All field names are case-sensitive.

Retrieve Trouble for PO

This API endpoint returns JSON data representing the Trouble information for a given PO. This could return an array of one or more Troubles. This has a required parameter of PoNum with an optional parameter of UniqueAddenda. If no unique addenda is supplied, the most current record for the PO number will be used.

Access to this endpoint may differ based on user permissions.

Authorizations:
basic_auth
query Parameters
PoNum
string

PO number associated to the Trouble(s).

UniqueAddenda
string

PO unique addenda for determining specific PO.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Retrieve Trouble Details for PO

This API endpoint returns JSON data representing the Trouble Detail information for a given PO. This could return an array of one or more Trouble details. This has a required parameter of PoNum with an optional parameter of UniqueAddenda. If no unique addenda is supplied, the most current record for the PO number will be used.

Access to this endpoint may differ based on user permissions.

Authorizations:
basic_auth
query Parameters
PoNum
string

PO number associated to the Trouble(s).

UniqueAddenda
string

PO unique addenda for determining specific PO.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new Trouble record

Creates a new Trouble record for merchandise receiving issues.

Important: All field names are case-sensitive and must match the exact casing shown in the request schema. Using incorrect casing (e.g., "ponum" instead of "PoNum") will result in a 400 Bad Request error with a validation message indicating the incorrect field name.

Required Fields:

  • PoNum - Purchase Order Number (case-sensitive)
  • Associate - Associate ID who reported the Trouble (case-sensitive)
  • LocationNum - Store/warehouse location number (case-sensitive)
  • TroubleReason - Reason code for the Trouble (case-sensitive)

Common Casing Mistakes:

  • ❌ "ponum" → ✅ "PoNum"
  • ❌ "PONUM" → ✅ "PoNum"
  • ❌ "associate" → ✅ "Associate"
  • ❌ "troublereason" → ✅ "TroubleReason"

Access to this endpoint may differ based on user permissions.

Authorizations:
basic_auth
Request Body schema: application/json
PoNum
required
string

Purchase Order Number

TroubleNum
string or null

Customer specified Trouble number. Must be an alphanumeric value. If not specified, the system will auto-generate a Trouble number.

Associate
required
string

Associate ID who reported the Trouble

LocationNum
required
string

Store/warehouse location number

TroubleDate
string <date-time>

Date when Trouble occurred in ISO 8601 format. Defaults to current date if not provided

ReceiverNum
string or null

Receiver number

ProNum
string or null

Pro (freight bill) number

UserDef1
string or null

Customer defined field

UserDef2
string or null

Customer defined field

required
Array of objects non-empty

Array of Trouble Detail items

Responses

Request samples

Content type
application/json
{
  • "value": {
    }
}

Response samples

Content type
application/json
{
  • "Status": "Success",
  • "Message": "Trouble created successfully",
  • "TroubleId": 12345
}