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

<back to all web services

GetCollectibleRequest

Catalog

Retrieve collectible(s)

The following routes are available for this service:
GET/GetCollectibleRequestSpecify ApiLevel=Advanced for additional collectible information.
import Foundation
import ServiceStack

/**
* Retrieve collectible(s)
*/
// @Api(Description="Retrieve collectible(s)")
public class GetCollectibleRequest : Codable
{
    public var gsId:Int
    public var apiLevel:String

    required public init(){}
}

public class CollectibleResponse : BaseResponse
{
    public var data:[CollectibleDto]

    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([CollectibleDto].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 CollectibleDto : Codable
{
    public var gsid:Int
    public var uiParentId:Int?
    public var name:String
    public var pcgsNumber:String
    public var friedbergNumber:String
    public var coinDate:String
    public var denominationShort:String
    public var denominationLong:String
    public var variety:String
    public var variety2:String
    public var desg:String
    public var other:String
    public var `prefix`:String
    public var mintMark:String
    public var composition:String
    public var mintage:String
    public var strikeType:String
    public var diameter:String
    public var fineness:String
    public var weightGrams:Double
    public var weightOunces:Double
    public var designer:String
    public var edge:String
    public var rarity:String
    public var coinShape:String
    public var Description:String
    public var generalNotes:String
    public var generalNotesSource:String
    public var generalCoinLettering:String
    public var obverseDescription:String
    public var obverseDesigner:String
    public var obverseLettering:String
    public var reverseDescription:String
    public var reverseDesigner:String
    public var reverseLettering:String
    public var bnBNumber:String
    public var noteColor:String
    public var noteDimension:String
    public var pickNumber:String
    public var watermark:String
    public var printer:String
    public var noteSecurityThread:String
    public var notePaperType:String
    public var bnbSignatureName1:String
    public var bnbSignatureName2:String
    public var bnbSignatureName3:String
    public var obsoleteBankId:String
    public var obsoleteStateName:String
    public var obsoleteCityName:String
    public var obsoleteBankName:String
    public var haxbyNumber:String
    public var bnbTitle:String
    public var issueNumber:String
    public var issueMonth:Int
    public var issueYear:Int
    public var variant:String
    public var artComment1:String
    public var artComment2:String
    public var artComment3:String
    public var keyComment1:String
    public var keyComment2:String
    public var keyComment3:String
    public var ngc:String
    public var krause:String
    public var ebayCategory1:Int
    public var featuredImageUrl:String
    public var featuredImageAttribution:String
    public var isType:Bool
    public var isSet:Bool
    public var priceLow:Double
    public var priceHigh:Double
    public var is100GreatestUSCoins:Int
    public var is100GreatestUSPaperMoney:Int
    public var is100GreatestWorldPaperMoney:Int
    public var is100GreatestModernUsCoins:Int
    public var isRedbook:Bool
    public var isCherryPicker:Bool
    public var rootNode_Id:Int
    public var parentNode_Id:Int
    public var parentNodeName:String
    public var sortingPosition:Int
    public var catalogPath:[NodeDto]

    required public init(){}
}

public class NodeDto : Codable
{
    public var id:Int
    public var name:String
    public var Description:String
    public var featuredImageUrl:String
    public var featuredImageAttribution:String
    public var flagCode:String
    public var countryName:String
    public var sortingPosition:Int
    public var nodeChildrenCountLive:Int
    public var collectibleChildrenCountLive:Int
    public var parentNode_Id:Int?
    public var rootNode_Id:Int?
    public var childNodes:[NodeDto]

    required public init(){}
}


Swift GetCollectibleRequest 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 /GetCollectibleRequest HTTP/1.1 
Host: cpgpublicapiv2dev.greysheet.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<CollectibleResponse 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:CollectibleDto>
      <d2p1:ArtComment1>String</d2p1:ArtComment1>
      <d2p1:ArtComment2>String</d2p1:ArtComment2>
      <d2p1:ArtComment3>String</d2p1:ArtComment3>
      <d2p1:BnBNumber>String</d2p1:BnBNumber>
      <d2p1:BnbSignatureName1>String</d2p1:BnbSignatureName1>
      <d2p1:BnbSignatureName2>String</d2p1:BnbSignatureName2>
      <d2p1:BnbSignatureName3>String</d2p1:BnbSignatureName3>
      <d2p1:BnbTitle>String</d2p1:BnbTitle>
      <d2p1:CatalogPath>
        <d2p1:NodeDto>
          <d2p1:ChildNodes>
            <d2p1:NodeDto>
              <d2p1:ChildNodes>
                <d2p1:NodeDto>
                  <d2p1:ChildNodes i:nil="true" />
                  <d2p1:CollectibleChildrenCountLive>0</d2p1:CollectibleChildrenCountLive>
                  <d2p1:CountryName>String</d2p1:CountryName>
                  <d2p1:Description>String</d2p1:Description>
                  <d2p1:FeaturedImageAttribution>String</d2p1:FeaturedImageAttribution>
                  <d2p1:FeaturedImageUrl>String</d2p1:FeaturedImageUrl>
                  <d2p1:FlagCode>String</d2p1:FlagCode>
                  <d2p1:Id>0</d2p1:Id>
                  <d2p1:Name>String</d2p1:Name>
                  <d2p1:NodeChildrenCountLive>0</d2p1:NodeChildrenCountLive>
                  <d2p1:ParentNode_Id>0</d2p1:ParentNode_Id>
                  <d2p1:RootNode_Id>0</d2p1:RootNode_Id>
                  <d2p1:SortingPosition>0</d2p1:SortingPosition>
                </d2p1:NodeDto>
              </d2p1:ChildNodes>
              <d2p1:CollectibleChildrenCountLive>0</d2p1:CollectibleChildrenCountLive>
              <d2p1:CountryName>String</d2p1:CountryName>
              <d2p1:Description>String</d2p1:Description>
              <d2p1:FeaturedImageAttribution>String</d2p1:FeaturedImageAttribution>
              <d2p1:FeaturedImageUrl>String</d2p1:FeaturedImageUrl>
              <d2p1:FlagCode>String</d2p1:FlagCode>
              <d2p1:Id>0</d2p1:Id>
              <d2p1:Name>String</d2p1:Name>
              <d2p1:NodeChildrenCountLive>0</d2p1:NodeChildrenCountLive>
              <d2p1:ParentNode_Id>0</d2p1:ParentNode_Id>
              <d2p1:RootNode_Id>0</d2p1:RootNode_Id>
              <d2p1:SortingPosition>0</d2p1:SortingPosition>
            </d2p1:NodeDto>
          </d2p1:ChildNodes>
          <d2p1:CollectibleChildrenCountLive>0</d2p1:CollectibleChildrenCountLive>
          <d2p1:CountryName>String</d2p1:CountryName>
          <d2p1:Description>String</d2p1:Description>
          <d2p1:FeaturedImageAttribution>String</d2p1:FeaturedImageAttribution>
          <d2p1:FeaturedImageUrl>String</d2p1:FeaturedImageUrl>
          <d2p1:FlagCode>String</d2p1:FlagCode>
          <d2p1:Id>0</d2p1:Id>
          <d2p1:Name>String</d2p1:Name>
          <d2p1:NodeChildrenCountLive>0</d2p1:NodeChildrenCountLive>
          <d2p1:ParentNode_Id>0</d2p1:ParentNode_Id>
          <d2p1:RootNode_Id>0</d2p1:RootNode_Id>
          <d2p1:SortingPosition>0</d2p1:SortingPosition>
        </d2p1:NodeDto>
      </d2p1:CatalogPath>
      <d2p1:CoinDate>String</d2p1:CoinDate>
      <d2p1:CoinShape>String</d2p1:CoinShape>
      <d2p1:Composition>String</d2p1:Composition>
      <d2p1:DenominationLong>String</d2p1:DenominationLong>
      <d2p1:DenominationShort>String</d2p1:DenominationShort>
      <d2p1:Description>String</d2p1:Description>
      <d2p1:Desg>String</d2p1:Desg>
      <d2p1:Designer>String</d2p1:Designer>
      <d2p1:Diameter>String</d2p1:Diameter>
      <d2p1:EbayCategory1>0</d2p1:EbayCategory1>
      <d2p1:Edge>String</d2p1:Edge>
      <d2p1:FeaturedImageAttribution>String</d2p1:FeaturedImageAttribution>
      <d2p1:FeaturedImageUrl>String</d2p1:FeaturedImageUrl>
      <d2p1:Fineness>String</d2p1:Fineness>
      <d2p1:FriedbergNumber>String</d2p1:FriedbergNumber>
      <d2p1:GeneralCoinLettering>String</d2p1:GeneralCoinLettering>
      <d2p1:GeneralNotes>String</d2p1:GeneralNotes>
      <d2p1:GeneralNotesSource>String</d2p1:GeneralNotesSource>
      <d2p1:Gsid>0</d2p1:Gsid>
      <d2p1:HaxbyNumber>String</d2p1:HaxbyNumber>
      <d2p1:Is100GreatestModernUsCoins>0</d2p1:Is100GreatestModernUsCoins>
      <d2p1:Is100GreatestUSCoins>0</d2p1:Is100GreatestUSCoins>
      <d2p1:Is100GreatestUSPaperMoney>0</d2p1:Is100GreatestUSPaperMoney>
      <d2p1:Is100GreatestWorldPaperMoney>0</d2p1:Is100GreatestWorldPaperMoney>
      <d2p1:IsCherryPicker>false</d2p1:IsCherryPicker>
      <d2p1:IsRedbook>false</d2p1:IsRedbook>
      <d2p1:IsSet>false</d2p1:IsSet>
      <d2p1:IsType>false</d2p1:IsType>
      <d2p1:IssueMonth>0</d2p1:IssueMonth>
      <d2p1:IssueNumber>String</d2p1:IssueNumber>
      <d2p1:IssueYear>0</d2p1:IssueYear>
      <d2p1:KeyComment1>String</d2p1:KeyComment1>
      <d2p1:KeyComment2>String</d2p1:KeyComment2>
      <d2p1:KeyComment3>String</d2p1:KeyComment3>
      <d2p1:Krause>String</d2p1:Krause>
      <d2p1:MintMark>String</d2p1:MintMark>
      <d2p1:Mintage>String</d2p1:Mintage>
      <d2p1:Name>String</d2p1:Name>
      <d2p1:Ngc>String</d2p1:Ngc>
      <d2p1:NoteColor>String</d2p1:NoteColor>
      <d2p1:NoteDimension>String</d2p1:NoteDimension>
      <d2p1:NotePaperType>String</d2p1:NotePaperType>
      <d2p1:NoteSecurityThread>String</d2p1:NoteSecurityThread>
      <d2p1:ObsoleteBankId>String</d2p1:ObsoleteBankId>
      <d2p1:ObsoleteBankName>String</d2p1:ObsoleteBankName>
      <d2p1:ObsoleteCityName>String</d2p1:ObsoleteCityName>
      <d2p1:ObsoleteStateName>String</d2p1:ObsoleteStateName>
      <d2p1:ObverseDescription>String</d2p1:ObverseDescription>
      <d2p1:ObverseDesigner>String</d2p1:ObverseDesigner>
      <d2p1:ObverseLettering>String</d2p1:ObverseLettering>
      <d2p1:Other>String</d2p1:Other>
      <d2p1:ParentNodeName>String</d2p1:ParentNodeName>
      <d2p1:ParentNode_Id>0</d2p1:ParentNode_Id>
      <d2p1:PcgsNumber>String</d2p1:PcgsNumber>
      <d2p1:PickNumber>String</d2p1:PickNumber>
      <d2p1:Prefix>String</d2p1:Prefix>
      <d2p1:PriceHigh>0</d2p1:PriceHigh>
      <d2p1:PriceLow>0</d2p1:PriceLow>
      <d2p1:Printer>String</d2p1:Printer>
      <d2p1:Rarity>String</d2p1:Rarity>
      <d2p1:ReverseDescription>String</d2p1:ReverseDescription>
      <d2p1:ReverseDesigner>String</d2p1:ReverseDesigner>
      <d2p1:ReverseLettering>String</d2p1:ReverseLettering>
      <d2p1:RootNode_Id>0</d2p1:RootNode_Id>
      <d2p1:SortingPosition>0</d2p1:SortingPosition>
      <d2p1:StrikeType>String</d2p1:StrikeType>
      <d2p1:UiParentId>0</d2p1:UiParentId>
      <d2p1:Variant>String</d2p1:Variant>
      <d2p1:Variety>String</d2p1:Variety>
      <d2p1:Variety2>String</d2p1:Variety2>
      <d2p1:Watermark>String</d2p1:Watermark>
      <d2p1:WeightGrams>0</d2p1:WeightGrams>
      <d2p1:WeightOunces>0</d2p1:WeightOunces>
    </d2p1:CollectibleDto>
  </Data>
</CollectibleResponse>