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 .jsv suffix or ?format=jsv

HTTP + JSV

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: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Data: 
	[
		{
			GsId: 0,
			Name: String,
			SortingPosition: 0,
			IsType: False,
			IsSet: False,
			UiParentId: 0,
			PricingData: 
			[
				{
					Grade: 0,
					GradeLabel: String,
					IsCac: False,
					CpgVal: String,
					GreyVal: String,
					PcgsVal: String,
					NgcVal: String,
					BlueBookVal: String
				}
			]
		}
	],
	Total: 0,
	OpCode: 0,
	ErrorText: String,
	RequestTime: String,
	ResponseTime: String,
	TotalExecutionTime: String,
	CachedResponse: False,
	PermitAccess: False,
	AccessDeniedMessage: String
}