Cdn Public Collector's Pricing Guide (CPG) API V2

<back to all web services

GetPricingRequest

Pricing

Retrieve pricing data for a collectible.

The following routes are available for this service:
GET/GetPricingRequestGsid or Pcgs Number is required. Grade, MinGrade and MaxGrade are optional. Specify ApiLevel=Advanced for additional collectible information.
import Foundation
import ServiceStack

/**
* Retrieve pricing data for a collectible.
*/
// @Api(Description="Retrieve pricing data for a collectible.")
public class GetPricingRequest : Codable
{
    public var gsid:Int
    public var pcgsNumber:String
    public var frNumber:String
    public var grade:Int
    public var minGrade:Int
    public var maxGrade:Int
    public var apiLevel:String

    required public init(){}
}

public class GetPricingResponse : BaseResponse
{
    public var data:[CdnPricingDataDto]

    required public init(){ super.init() }

    private enum CodingKeys : String, CodingKey {
        case data
    }

    required public init(from decoder: Decoder) throws {
        try super.init(from: decoder)
        let container = try decoder.container(keyedBy: CodingKeys.self)
        data = try container.decodeIfPresent([CdnPricingDataDto].self, forKey: .data) ?? []
    }

    public override func encode(to encoder: Encoder) throws {
        try super.encode(to: encoder)
        var container = encoder.container(keyedBy: CodingKeys.self)
        if data != nil { try container.encode(data, forKey: .data) }
    }
}

public class BaseResponse : Codable
{
    public var total:Int
    public var opCode:Int
    public var errorText:String
    public var requestTime:String
    public var responseTime:String
    public var totalExecutionTime:String
    public var cachedResponse:Bool
    public var permitAccess:Bool
    public var accessDeniedMessage:String

    required public init(){}
}

public class CdnPricingDataDto : Codable
{
    public var gsId:Int
    public var name:String
    public var sortingPosition:Int
    public var isType:Bool
    public var isSet:Bool
    public var uiParentId:Int
    public var pricingData:[CdnPricingItemDto]

    required public init(){}
}

public class CdnPricingItemDto : Codable
{
    public var grade:Int
    public var gradeLabel:String
    public var isCac:Bool
    public var cpgVal:String
    public var greyVal:String
    public var pcgsVal:String
    public var ngcVal:String
    public var blueBookVal:String

    required public init(){}
}


Swift GetPricingRequest DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml

HTTP + XML

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /GetPricingRequest HTTP/1.1 
Host: publicapiv2dev.greysheet.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetPricingResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Cdn.PublicApiV2.ResponseObjects">
  <AccessDeniedMessage>String</AccessDeniedMessage>
  <CachedResponse>false</CachedResponse>
  <ErrorText>String</ErrorText>
  <OpCode>0</OpCode>
  <PermitAccess>false</PermitAccess>
  <RequestTime>String</RequestTime>
  <ResponseTime>String</ResponseTime>
  <Total>0</Total>
  <TotalExecutionTime>String</TotalExecutionTime>
  <Data xmlns:d2p1="http://schemas.datacontract.org/2004/07/Cdn.PublicApiV2.Dto">
    <d2p1:CdnPricingDataDto>
      <d2p1:GsId>0</d2p1:GsId>
      <d2p1:IsSet>false</d2p1:IsSet>
      <d2p1:IsType>false</d2p1:IsType>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:PricingData>
        <d2p1:CdnPricingItemDto>
          <d2p1:BlueBookVal>String</d2p1:BlueBookVal>
          <d2p1:CpgVal>String</d2p1:CpgVal>
          <d2p1:Grade>0</d2p1:Grade>
          <d2p1:GradeLabel>String</d2p1:GradeLabel>
          <d2p1:GreyVal>String</d2p1:GreyVal>
          <d2p1:IsCac>false</d2p1:IsCac>
          <d2p1:NgcVal>String</d2p1:NgcVal>
          <d2p1:PcgsVal>String</d2p1:PcgsVal>
        </d2p1:CdnPricingItemDto>
      </d2p1:PricingData>
      <d2p1:SortingPosition>0</d2p1:SortingPosition>
      <d2p1:UiParentId>0</d2p1:UiParentId>
    </d2p1:CdnPricingDataDto>
  </Data>
</GetPricingResponse>