SPB Git forge

spb/rareindex

Public
54commits 1branches 0releases
7.1 MBsize
maindefault branch
10 days agolast push
TypeScript 61.9% HTML 37.2% SQL 0.7%
49.6 KB · 2,076 lines json
Raw Blame History
1{2  "openapi": "3.1.0",3  "info": {4    "title": "RareIndex Public API",5    "version": "1.0.0",6    "description": "Structured market data for collectible assets: canonical assets, observed sales, live listings, price history, category markets and the RareIndex indices. Valuations are estimates with confidence and sample size; listing prices are not confirmed transactions. Attribution to RareIndex and the original sources is required.",7    "contact": {8      "name": "RareIndex",9      "url": "https://www.rareindex.io/api-docs",10      "email": "api@rareindex.io"11    },12    "termsOfService": "https://www.rareindex.io/about#terms"13  },14  "servers": [15    {16      "url": "https://www.rareindex.io/api",17      "description": "Production (proxied by the web app)"18    },19    {20      "url": "http://localhost:8211",21      "description": "Local API service"22    }23  ],24  "security": [25    {26      "bearerAuth": []27    },28    {}29  ],30  "tags": [31    {32      "name": "assets"33    },34    {35      "name": "markets"36    },37    {38      "name": "indices"39    },40    {41      "name": "sales"42    },43    {44      "name": "reference"45    }46  ],47  "paths": {48    "/v1/assets/search": {49      "get": {50        "tags": [51          "assets"52        ],53        "summary": "Search canonical assets",54        "parameters": [55          {56            "name": "q",57            "in": "query",58            "schema": {59              "type": "string"60            },61            "description": "Natural language query, e.g. \"1999 Charizard PSA 10\""62          },63          {64            "name": "category",65            "in": "query",66            "schema": {67              "type": "string"68            },69            "description": "Category or family slug"70          },71          {72            "name": "limit",73            "in": "query",74            "schema": {75              "type": "integer",76              "minimum": 1,77              "maximum": 200,78              "default": 5079            }80          },81          {82            "name": "cursor",83            "in": "query",84            "schema": {85              "type": "string"86            },87            "description": "Opaque cursor from meta.cursor"88          },89          {90            "name": "format",91            "in": "query",92            "schema": {93              "type": "string",94              "enum": [95                "json",96                "csv"97              ]98            },99            "description": "csv returns a flat export of the rows"100          }101        ],102        "responses": {103          "200": {104            "description": "OK",105            "content": {106              "application/json": {107                "schema": {108                  "type": "object",109                  "properties": {110                    "data": {111                      "type": "array",112                      "items": {113                        "$ref": "#/components/schemas/AssetSummary"114                      }115                    },116                    "meta": {117                      "$ref": "#/components/schemas/Meta"118                    }119                  }120                }121              }122            }123          },124          "400": {125            "description": "Invalid query",126            "content": {127              "application/problem+json": {128                "schema": {129                  "$ref": "#/components/schemas/Problem"130                }131              }132            }133          },134          "401": {135            "description": "Invalid API key",136            "content": {137              "application/problem+json": {138                "schema": {139                  "$ref": "#/components/schemas/Problem"140                }141              }142            }143          },144          "404": {145            "description": "Not found",146            "content": {147              "application/problem+json": {148                "schema": {149                  "$ref": "#/components/schemas/Problem"150                }151              }152            }153          },154          "429": {155            "description": "Rate limit or quota exceeded",156            "content": {157              "application/problem+json": {158                "schema": {159                  "$ref": "#/components/schemas/Problem"160                }161              }162            }163          }164        }165      }166    },167    "/v1/assets/{id}": {168      "get": {169        "tags": [170          "assets"171        ],172        "summary": "Asset detail with variants, latest valuation and sources",173        "parameters": [174          {175            "name": "id",176            "in": "path",177            "required": true,178            "schema": {179              "type": "string"180            },181            "description": "Asset id (rare_…) or slug"182          }183        ],184        "responses": {185          "200": {186            "description": "OK",187            "content": {188              "application/json": {189                "schema": {190                  "type": "object",191                  "properties": {192                    "data": {193                      "$ref": "#/components/schemas/AssetDetail"194                    },195                    "meta": {196                      "$ref": "#/components/schemas/Meta"197                    }198                  }199                }200              }201            }202          },203          "400": {204            "description": "Invalid query",205            "content": {206              "application/problem+json": {207                "schema": {208                  "$ref": "#/components/schemas/Problem"209                }210              }211            }212          },213          "401": {214            "description": "Invalid API key",215            "content": {216              "application/problem+json": {217                "schema": {218                  "$ref": "#/components/schemas/Problem"219                }220              }221            }222          },223          "404": {224            "description": "Not found",225            "content": {226              "application/problem+json": {227                "schema": {228                  "$ref": "#/components/schemas/Problem"229                }230              }231            }232          },233          "429": {234            "description": "Rate limit or quota exceeded",235            "content": {236              "application/problem+json": {237                "schema": {238                  "$ref": "#/components/schemas/Problem"239                }240              }241            }242          }243        }244      }245    },246    "/v1/assets/{id}/sales": {247      "get": {248        "tags": [249          "assets",250          "sales"251        ],252        "summary": "Observed sales for an asset",253        "parameters": [254          {255            "name": "id",256            "in": "path",257            "required": true,258            "schema": {259              "type": "string"260            }261          },262          {263            "name": "variant",264            "in": "query",265            "schema": {266              "type": "string"267            }268          },269          {270            "name": "include_flagged",271            "in": "query",272            "schema": {273              "type": "boolean"274            }275          },276          {277            "name": "limit",278            "in": "query",279            "schema": {280              "type": "integer",281              "minimum": 1,282              "maximum": 200,283              "default": 50284            }285          },286          {287            "name": "cursor",288            "in": "query",289            "schema": {290              "type": "string"291            },292            "description": "Opaque cursor from meta.cursor"293          },294          {295            "name": "format",296            "in": "query",297            "schema": {298              "type": "string",299              "enum": [300                "json",301                "csv"302              ]303            },304            "description": "csv returns a flat export of the rows"305          }306        ],307        "responses": {308          "200": {309            "description": "OK",310            "content": {311              "application/json": {312                "schema": {313                  "type": "object",314                  "properties": {315                    "data": {316                      "type": "array",317                      "items": {318                        "$ref": "#/components/schemas/Sale"319                      }320                    },321                    "meta": {322                      "$ref": "#/components/schemas/Meta"323                    }324                  }325                }326              }327            }328          },329          "400": {330            "description": "Invalid query",331            "content": {332              "application/problem+json": {333                "schema": {334                  "$ref": "#/components/schemas/Problem"335                }336              }337            }338          },339          "401": {340            "description": "Invalid API key",341            "content": {342              "application/problem+json": {343                "schema": {344                  "$ref": "#/components/schemas/Problem"345                }346              }347            }348          },349          "404": {350            "description": "Not found",351            "content": {352              "application/problem+json": {353                "schema": {354                  "$ref": "#/components/schemas/Problem"355                }356              }357            }358          },359          "429": {360            "description": "Rate limit or quota exceeded",361            "content": {362              "application/problem+json": {363                "schema": {364                  "$ref": "#/components/schemas/Problem"365                }366              }367            }368          }369        }370      }371    },372    "/v1/assets/{id}/listings": {373      "get": {374        "tags": [375          "assets"376        ],377        "summary": "Listings for an asset (asks, not transactions)",378        "parameters": [379          {380            "name": "id",381            "in": "path",382            "required": true,383            "schema": {384              "type": "string"385            }386          },387          {388            "name": "availability",389            "in": "query",390            "schema": {391              "type": "string",392              "enum": [393                "available",394                "sold",395                "ended",396                "removed"397              ],398              "default": "available"399            }400          },401          {402            "name": "limit",403            "in": "query",404            "schema": {405              "type": "integer",406              "minimum": 1,407              "maximum": 200,408              "default": 50409            }410          },411          {412            "name": "cursor",413            "in": "query",414            "schema": {415              "type": "string"416            },417            "description": "Opaque cursor from meta.cursor"418          },419          {420            "name": "format",421            "in": "query",422            "schema": {423              "type": "string",424              "enum": [425                "json",426                "csv"427              ]428            },429            "description": "csv returns a flat export of the rows"430          }431        ],432        "responses": {433          "200": {434            "description": "OK",435            "content": {436              "application/json": {437                "schema": {438                  "type": "object",439                  "properties": {440                    "data": {441                      "type": "array",442                      "items": {443                        "$ref": "#/components/schemas/Listing"444                      }445                    },446                    "meta": {447                      "$ref": "#/components/schemas/Meta"448                    }449                  }450                }451              }452            }453          },454          "400": {455            "description": "Invalid query",456            "content": {457              "application/problem+json": {458                "schema": {459                  "$ref": "#/components/schemas/Problem"460                }461              }462            }463          },464          "401": {465            "description": "Invalid API key",466            "content": {467              "application/problem+json": {468                "schema": {469                  "$ref": "#/components/schemas/Problem"470                }471              }472            }473          },474          "404": {475            "description": "Not found",476            "content": {477              "application/problem+json": {478                "schema": {479                  "$ref": "#/components/schemas/Problem"480                }481              }482            }483          },484          "429": {485            "description": "Rate limit or quota exceeded",486            "content": {487              "application/problem+json": {488                "schema": {489                  "$ref": "#/components/schemas/Problem"490                }491              }492            }493          }494        }495      }496    },497    "/v1/assets/{id}/history": {498      "get": {499        "tags": [500          "assets"501        ],502        "summary": "Daily price history (RIV, latest sale, median, volume, listings)",503        "parameters": [504          {505            "name": "id",506            "in": "path",507            "required": true,508            "schema": {509              "type": "string"510            }511          },512          {513            "name": "variant",514            "in": "query",515            "schema": {516              "type": "string"517            }518          },519          {520            "name": "from",521            "in": "query",522            "schema": {523              "type": "string",524              "format": "date"525            }526          },527          {528            "name": "to",529            "in": "query",530            "schema": {531              "type": "string",532              "format": "date"533            }534          },535          {536            "name": "format",537            "in": "query",538            "schema": {539              "type": "string",540              "enum": [541                "json",542                "csv"543              ]544            }545          }546        ],547        "responses": {548          "200": {549            "description": "OK",550            "content": {551              "application/json": {552                "schema": {553                  "type": "object",554                  "properties": {555                    "data": {556                      "type": "array",557                      "items": {558                        "$ref": "#/components/schemas/PricePoint"559                      }560                    },561                    "meta": {562                      "$ref": "#/components/schemas/Meta"563                    }564                  }565                }566              }567            }568          },569          "400": {570            "description": "Invalid query",571            "content": {572              "application/problem+json": {573                "schema": {574                  "$ref": "#/components/schemas/Problem"575                }576              }577            }578          },579          "401": {580            "description": "Invalid API key",581            "content": {582              "application/problem+json": {583                "schema": {584                  "$ref": "#/components/schemas/Problem"585                }586              }587            }588          },589          "404": {590            "description": "Not found",591            "content": {592              "application/problem+json": {593                "schema": {594                  "$ref": "#/components/schemas/Problem"595                }596              }597            }598          },599          "429": {600            "description": "Rate limit or quota exceeded",601            "content": {602              "application/problem+json": {603                "schema": {604                  "$ref": "#/components/schemas/Problem"605                }606              }607            }608          }609        }610      }611    },612    "/v1/categories": {613      "get": {614        "tags": [615          "reference"616        ],617        "summary": "Taxonomy",618        "parameters": [619          {620            "name": "format",621            "in": "query",622            "schema": {623              "type": "string",624              "enum": [625                "json",626                "csv"627              ]628            },629            "description": "csv returns a flat export of the rows"630          }631        ],632        "responses": {633          "200": {634            "description": "OK",635            "content": {636              "application/json": {637                "schema": {638                  "type": "object",639                  "properties": {640                    "data": {641                      "type": "array",642                      "items": {643                        "$ref": "#/components/schemas/Category"644                      }645                    },646                    "meta": {647                      "$ref": "#/components/schemas/Meta"648                    }649                  }650                }651              }652            }653          },654          "400": {655            "description": "Invalid query",656            "content": {657              "application/problem+json": {658                "schema": {659                  "$ref": "#/components/schemas/Problem"660                }661              }662            }663          },664          "401": {665            "description": "Invalid API key",666            "content": {667              "application/problem+json": {668                "schema": {669                  "$ref": "#/components/schemas/Problem"670                }671              }672            }673          },674          "404": {675            "description": "Not found",676            "content": {677              "application/problem+json": {678                "schema": {679                  "$ref": "#/components/schemas/Problem"680                }681              }682            }683          },684          "429": {685            "description": "Rate limit or quota exceeded",686            "content": {687              "application/problem+json": {688                "schema": {689                  "$ref": "#/components/schemas/Problem"690                }691              }692            }693          }694        }695      }696    },697    "/v1/indices": {698      "get": {699        "tags": [700          "indices"701        ],702        "summary": "RARE and subindices with latest values and changes",703        "parameters": [704          {705            "name": "format",706            "in": "query",707            "schema": {708              "type": "string",709              "enum": [710                "json",711                "csv"712              ]713            },714            "description": "csv returns a flat export of the rows"715          }716        ],717        "responses": {718          "200": {719            "description": "OK",720            "content": {721              "application/json": {722                "schema": {723                  "type": "object",724                  "properties": {725                    "data": {726                      "type": "array",727                      "items": {728                        "$ref": "#/components/schemas/Index"729                      }730                    },731                    "meta": {732                      "$ref": "#/components/schemas/Meta"733                    }734                  }735                }736              }737            }738          },739          "400": {740            "description": "Invalid query",741            "content": {742              "application/problem+json": {743                "schema": {744                  "$ref": "#/components/schemas/Problem"745                }746              }747            }748          },749          "401": {750            "description": "Invalid API key",751            "content": {752              "application/problem+json": {753                "schema": {754                  "$ref": "#/components/schemas/Problem"755                }756              }757            }758          },759          "404": {760            "description": "Not found",761            "content": {762              "application/problem+json": {763                "schema": {764                  "$ref": "#/components/schemas/Problem"765                }766              }767            }768          },769          "429": {770            "description": "Rate limit or quota exceeded",771            "content": {772              "application/problem+json": {773                "schema": {774                  "$ref": "#/components/schemas/Problem"775                }776              }777            }778          }779        }780      }781    },782    "/v1/indices/{ticker}/history": {783      "get": {784        "tags": [785          "indices"786        ],787        "summary": "Index daily history",788        "parameters": [789          {790            "name": "ticker",791            "in": "path",792            "required": true,793            "schema": {794              "type": "string"795            },796            "example": "RARE-TCG"797          },798          {799            "name": "from",800            "in": "query",801            "schema": {802              "type": "string",803              "format": "date"804            }805          },806          {807            "name": "to",808            "in": "query",809            "schema": {810              "type": "string",811              "format": "date"812            }813          },814          {815            "name": "format",816            "in": "query",817            "schema": {818              "type": "string",819              "enum": [820                "json",821                "csv"822              ]823            }824          }825        ],826        "responses": {827          "200": {828            "description": "OK",829            "content": {830              "application/json": {831                "schema": {832                  "type": "object",833                  "properties": {834                    "data": {835                      "type": "array",836                      "items": {837                        "$ref": "#/components/schemas/IndexPoint"838                      }839                    },840                    "meta": {841                      "$ref": "#/components/schemas/Meta"842                    }843                  }844                }845              }846            }847          },848          "400": {849            "description": "Invalid query",850            "content": {851              "application/problem+json": {852                "schema": {853                  "$ref": "#/components/schemas/Problem"854                }855              }856            }857          },858          "401": {859            "description": "Invalid API key",860            "content": {861              "application/problem+json": {862                "schema": {863                  "$ref": "#/components/schemas/Problem"864                }865              }866            }867          },868          "404": {869            "description": "Not found",870            "content": {871              "application/problem+json": {872                "schema": {873                  "$ref": "#/components/schemas/Problem"874                }875              }876            }877          },878          "429": {879            "description": "Rate limit or quota exceeded",880            "content": {881              "application/problem+json": {882                "schema": {883                  "$ref": "#/components/schemas/Problem"884                }885              }886            }887          }888        }889      }890    },891    "/v1/markets": {892      "get": {893        "tags": [894          "markets"895        ],896        "summary": "Category markets overview (latest snapshot per family)",897        "parameters": [898          {899            "name": "format",900            "in": "query",901            "schema": {902              "type": "string",903              "enum": [904                "json",905                "csv"906              ]907            },908            "description": "csv returns a flat export of the rows"909          }910        ],911        "responses": {912          "200": {913            "description": "OK",914            "content": {915              "application/json": {916                "schema": {917                  "type": "object",918                  "properties": {919                    "data": {920                      "type": "array",921                      "items": {922                        "$ref": "#/components/schemas/Market"923                      }924                    },925                    "meta": {926                      "$ref": "#/components/schemas/Meta"927                    }928                  }929                }930              }931            }932          },933          "400": {934            "description": "Invalid query",935            "content": {936              "application/problem+json": {937                "schema": {938                  "$ref": "#/components/schemas/Problem"939                }940              }941            }942          },943          "401": {944            "description": "Invalid API key",945            "content": {946              "application/problem+json": {947                "schema": {948                  "$ref": "#/components/schemas/Problem"949                }950              }951            }952          },953          "404": {954            "description": "Not found",955            "content": {956              "application/problem+json": {957                "schema": {958                  "$ref": "#/components/schemas/Problem"959                }960              }961            }962          },963          "429": {964            "description": "Rate limit or quota exceeded",965            "content": {966              "application/problem+json": {967                "schema": {968                  "$ref": "#/components/schemas/Problem"969                }970              }971            }972          }973        }974      }975    },976    "/v1/markets/{slug}": {977      "get": {978        "tags": [979          "markets"980        ],981        "summary": "Category market detail: movers, most valuable, most liquid, recent sales, history",982        "parameters": [983          {984            "name": "slug",985            "in": "path",986            "required": true,987            "schema": {988              "type": "string"989            },990            "example": "pokemon"991          }992        ],993        "responses": {994          "200": {995            "description": "OK",996            "content": {997              "application/json": {998                "schema": {999                  "type": "object",1000                  "properties": {1001                    "data": {1002                      "$ref": "#/components/schemas/MarketDetail"1003                    },1004                    "meta": {1005                      "$ref": "#/components/schemas/Meta"1006                    }1007                  }1008                }1009              }1010            }1011          },1012          "400": {1013            "description": "Invalid query",1014            "content": {1015              "application/problem+json": {1016                "schema": {1017                  "$ref": "#/components/schemas/Problem"1018                }1019              }1020            }1021          },1022          "401": {1023            "description": "Invalid API key",1024            "content": {1025              "application/problem+json": {1026                "schema": {1027                  "$ref": "#/components/schemas/Problem"1028                }1029              }1030            }1031          },1032          "404": {1033            "description": "Not found",1034            "content": {1035              "application/problem+json": {1036                "schema": {1037                  "$ref": "#/components/schemas/Problem"1038                }1039              }1040            }1041          },1042          "429": {1043            "description": "Rate limit or quota exceeded",1044            "content": {1045              "application/problem+json": {1046                "schema": {1047                  "$ref": "#/components/schemas/Problem"1048                }1049              }1050            }1051          }1052        }1053      }1054    },1055    "/v1/trending": {1056      "get": {1057        "tags": [1058          "markets"1059        ],1060        "summary": "Trending assets",1061        "parameters": [1062          {1063            "name": "category",1064            "in": "query",1065            "schema": {1066              "type": "string"1067            }1068          },1069          {1070            "name": "limit",1071            "in": "query",1072            "schema": {1073              "type": "integer",1074              "minimum": 1,1075              "maximum": 200,1076              "default": 501077            }1078          },1079          {1080            "name": "cursor",1081            "in": "query",1082            "schema": {1083              "type": "string"1084            },1085            "description": "Opaque cursor from meta.cursor"1086          },1087          {1088            "name": "format",1089            "in": "query",1090            "schema": {1091              "type": "string",1092              "enum": [1093                "json",1094                "csv"1095              ]1096            },1097            "description": "csv returns a flat export of the rows"1098          }1099        ],1100        "responses": {1101          "200": {1102            "description": "OK",1103            "content": {1104              "application/json": {1105                "schema": {1106                  "type": "object",1107                  "properties": {1108                    "data": {1109                      "type": "array",1110                      "items": {1111                        "$ref": "#/components/schemas/AssetSummary"1112                      }1113                    },1114                    "meta": {1115                      "$ref": "#/components/schemas/Meta"1116                    }1117                  }1118                }1119              }1120            }1121          },1122          "400": {1123            "description": "Invalid query",1124            "content": {1125              "application/problem+json": {1126                "schema": {1127                  "$ref": "#/components/schemas/Problem"1128                }1129              }1130            }1131          },1132          "401": {1133            "description": "Invalid API key",1134            "content": {1135              "application/problem+json": {1136                "schema": {1137                  "$ref": "#/components/schemas/Problem"1138                }1139              }1140            }1141          },1142          "404": {1143            "description": "Not found",1144            "content": {1145              "application/problem+json": {1146                "schema": {1147                  "$ref": "#/components/schemas/Problem"1148                }1149              }1150            }1151          },1152          "429": {1153            "description": "Rate limit or quota exceeded",1154            "content": {1155              "application/problem+json": {1156                "schema": {1157                  "$ref": "#/components/schemas/Problem"1158                }1159              }1160            }1161          }1162        }1163      }1164    },1165    "/v1/sales/latest": {1166      "get": {1167        "tags": [1168          "sales"1169        ],1170        "summary": "Latest observed sales across the platform",1171        "parameters": [1172          {1173            "name": "category",1174            "in": "query",1175            "schema": {1176              "type": "string"1177            }1178          },1179          {1180            "name": "min_usd",1181            "in": "query",1182            "schema": {1183              "type": "number"1184            }1185          },1186          {1187            "name": "limit",1188            "in": "query",1189            "schema": {1190              "type": "integer",1191              "minimum": 1,1192              "maximum": 200,1193              "default": 501194            }1195          },1196          {1197            "name": "cursor",1198            "in": "query",1199            "schema": {1200              "type": "string"1201            },1202            "description": "Opaque cursor from meta.cursor"1203          },1204          {1205            "name": "format",1206            "in": "query",1207            "schema": {1208              "type": "string",1209              "enum": [1210                "json",1211                "csv"1212              ]1213            },1214            "description": "csv returns a flat export of the rows"1215          }1216        ],1217        "responses": {1218          "200": {1219            "description": "OK",1220            "content": {1221              "application/json": {1222                "schema": {1223                  "type": "object",1224                  "properties": {1225                    "data": {1226                      "type": "array",1227                      "items": {1228                        "$ref": "#/components/schemas/SaleWithAsset"1229                      }1230                    },1231                    "meta": {1232                      "$ref": "#/components/schemas/Meta"1233                    }1234                  }1235                }1236              }1237            }1238          },1239          "400": {1240            "description": "Invalid query",1241            "content": {1242              "application/problem+json": {1243                "schema": {1244                  "$ref": "#/components/schemas/Problem"1245                }1246              }1247            }1248          },1249          "401": {1250            "description": "Invalid API key",1251            "content": {1252              "application/problem+json": {1253                "schema": {1254                  "$ref": "#/components/schemas/Problem"1255                }1256              }1257            }1258          },1259          "404": {1260            "description": "Not found",1261            "content": {1262              "application/problem+json": {1263                "schema": {1264                  "$ref": "#/components/schemas/Problem"1265                }1266              }1267            }1268          },1269          "429": {1270            "description": "Rate limit or quota exceeded",1271            "content": {1272              "application/problem+json": {1273                "schema": {1274                  "$ref": "#/components/schemas/Problem"1275                }1276              }1277            }1278          }1279        }1280      }1281    },1282    "/v1/records": {1283      "get": {1284        "tags": [1285          "sales"1286        ],1287        "summary": "Record sale per family (verified transactions only)",1288        "parameters": [1289          {1290            "name": "format",1291            "in": "query",1292            "schema": {1293              "type": "string",1294              "enum": [1295                "json",1296                "csv"1297              ]1298            },1299            "description": "csv returns a flat export of the rows"1300          }1301        ],1302        "responses": {1303          "200": {1304            "description": "OK",1305            "content": {1306              "application/json": {1307                "schema": {1308                  "type": "object",1309                  "properties": {1310                    "data": {1311                      "type": "array",1312                      "items": {1313                        "$ref": "#/components/schemas/SaleWithAsset"1314                      }1315                    },1316                    "meta": {1317                      "$ref": "#/components/schemas/Meta"1318                    }1319                  }1320                }1321              }1322            }1323          },1324          "400": {1325            "description": "Invalid query",1326            "content": {1327              "application/problem+json": {1328                "schema": {1329                  "$ref": "#/components/schemas/Problem"1330                }1331              }1332            }1333          },1334          "401": {1335            "description": "Invalid API key",1336            "content": {1337              "application/problem+json": {1338                "schema": {1339                  "$ref": "#/components/schemas/Problem"1340                }1341              }1342            }1343          },1344          "404": {1345            "description": "Not found",1346            "content": {1347              "application/problem+json": {1348                "schema": {1349                  "$ref": "#/components/schemas/Problem"1350                }1351              }1352            }1353          },1354          "429": {1355            "description": "Rate limit or quota exceeded",1356            "content": {1357              "application/problem+json": {1358                "schema": {1359                  "$ref": "#/components/schemas/Problem"1360                }1361              }1362            }1363          }1364        }1365      }1366    },1367    "/v1/stats": {1368      "get": {1369        "tags": [1370          "reference"1371        ],1372        "summary": "Platform counts",1373        "responses": {1374          "200": {1375            "description": "OK",1376            "content": {1377              "application/json": {1378                "schema": {1379                  "type": "object",1380                  "properties": {1381                    "data": {1382                      "$ref": "#/components/schemas/Stats"1383                    },1384                    "meta": {1385                      "$ref": "#/components/schemas/Meta"1386                    }1387                  }1388                }1389              }1390            }1391          }1392        }1393      }1394    }1395  },1396  "components": {1397    "securitySchemes": {1398      "bearerAuth": {1399        "type": "http",1400        "scheme": "bearer",1401        "description": "API key `ri_live_…`. Requests without a key use the public tier (20 req/min)."1402      }1403    },1404    "schemas": {1405      "Meta": {1406        "type": "object",1407        "properties": {1408          "count": {1409            "type": "integer"1410          },1411          "cursor": {1412            "type": [1413              "string",1414              "null"1415            ]1416          },1417          "as_of": {1418            "type": "string",1419            "format": "date-time"1420          },1421          "attribution": {1422            "type": "string"1423          }1424        },1425        "additionalProperties": true1426      },1427      "Problem": {1428        "type": "object",1429        "properties": {1430          "type": {1431            "type": "string"1432          },1433          "title": {1434            "type": "string"1435          },1436          "status": {1437            "type": "integer"1438          },1439          "detail": {1440            "type": "string"1441          },1442          "instance": {1443            "type": "string"1444          },1445          "request_id": {1446            "type": "string"1447          }1448        }1449      },1450      "AssetSummary": {1451        "type": "object",1452        "properties": {1453          "id": {1454            "type": "string"1455          },1456          "slug": {1457            "type": "string"1458          },1459          "title": {1460            "type": "string"1461          },1462          "name": {1463            "type": "string"1464          },1465          "category_slug": {1466            "type": "string"1467          },1468          "family_slug": {1469            "type": "string"1470          },1471          "brand": {1472            "type": [1473              "string",1474              "null"1475            ]1476          },1477          "franchise": {1478            "type": [1479              "string",1480              "null"1481            ]1482          },1483          "set_name": {1484            "type": [1485              "string",1486              "null"1487            ]1488          },1489          "number": {1490            "type": [1491              "string",1492              "null"1493            ]1494          },1495          "year": {1496            "type": [1497              "integer",1498              "null"1499            ]1500          },1501          "variant": {1502            "type": [1503              "string",1504              "null"1505            ]1506          },1507          "hero_image_url": {1508            "type": [1509              "string",1510              "null"1511            ]1512          },1513          "riv_usd": {1514            "type": [1515              "number",1516              "null"1517            ],1518            "description": "RareIndex Valuation (estimate)"1519          },1520          "riv_low_usd": {1521            "type": [1522              "number",1523              "null"1524            ]1525          },1526          "riv_high_usd": {1527            "type": [1528              "number",1529              "null"1530            ]1531          },1532          "riv_confidence": {1533            "type": [1534              "number",1535              "null"1536            ]1537          },1538          "riv_sample_size": {1539            "type": "integer"1540          },1541          "latest_sale_usd": {1542            "type": [1543              "number",1544              "null"1545            ]1546          },1547          "latest_sale_at": {1548            "type": [1549              "string",1550              "null"1551            ]1552          },1553          "change_7d": {1554            "type": [1555              "number",1556              "null"1557            ]1558          },1559          "change_30d": {1560            "type": [1561              "number",1562              "null"1563            ]1564          },1565          "change_1y": {1566            "type": [1567              "number",1568              "null"1569            ]1570          },1571          "sales_count": {1572            "type": "integer"1573          },1574          "sales_30d": {1575            "type": "integer"1576          },1577          "active_listings": {1578            "type": "integer"1579          },1580          "min_ask_usd": {1581            "type": [1582              "number",1583              "null"1584            ]1585          },1586          "liquidity_score": {1587            "type": [1588              "number",1589              "null"1590            ]1591          },1592          "rarity_score": {1593            "type": [1594              "number",1595              "null"1596            ]1597          },1598          "trending_score": {1599            "type": [1600              "number",1601              "null"1602            ]1603          }1604        }1605      },1606      "AssetDetail": {1607        "allOf": [1608          {1609            "$ref": "#/components/schemas/AssetSummary"1610          },1611          {1612            "type": "object",1613            "properties": {1614              "description": {1615                "type": [1616                  "string",1617                  "null"1618                ]1619              },1620              "identifiers": {1621                "type": "object"1622              },1623              "variants": {1624                "type": "array",1625                "items": {1626                  "type": "object"1627                }1628              },1629              "valuation": {1630                "type": [1631                  "object",1632                  "null"1633                ]1634              },1635              "sources": {1636                "type": "array",1637                "items": {1638                  "type": "object"1639                }1640              }1641            }1642          }1643        ]1644      },1645      "Sale": {1646        "type": "object",1647        "properties": {1648          "id": {1649            "type": "string"1650          },1651          "source_id": {1652            "type": "string"1653          },1654          "source_url": {1655            "type": "string"1656          },1657          "sale_type": {1658            "type": "string"1659          },1660          "sale_date": {1661            "type": "string"1662          },1663          "price": {1664            "type": "number"1665          },1666          "currency": {1667            "type": "string"1668          },1669          "price_usd": {1670            "type": "number"1671          },1672          "grader": {1673            "type": [1674              "string",1675              "null"1676            ]1677          },1678          "grade": {1679            "type": [1680              "string",1681              "null"1682            ]1683          },1684          "condition": {1685            "type": [1686              "string",1687              "null"1688            ]1689          },1690          "status": {1691            "type": "string"1692          },1693          "confidence": {1694            "type": "number"1695          }1696        }1697      },1698      "SaleWithAsset": {1699        "allOf": [1700          {1701            "$ref": "#/components/schemas/Sale"1702          },1703          {1704            "type": "object",1705            "properties": {1706              "asset_id": {1707                "type": "string"1708              },1709              "asset_slug": {1710                "type": "string"1711              },1712              "title": {1713                "type": "string"1714              }1715            }1716          }1717        ]1718      },1719      "Listing": {1720        "type": "object",1721        "properties": {1722          "id": {1723            "type": "string"1724          },1725          "source_id": {1726            "type": "string"1727          },1728          "source_url": {1729            "type": "string"1730          },1731          "listing_type": {1732            "type": "string"1733          },1734          "price": {1735            "type": [1736              "number",1737              "null"1738            ]1739          },1740          "currency": {1741            "type": [1742              "string",1743              "null"1744            ]1745          },1746          "price_usd": {1747            "type": [1748              "number",1749              "null"1750            ]1751          },1752          "availability": {1753            "type": "string"1754          },1755          "discount_to_riv": {1756            "type": [1757              "number",1758              "null"1759            ]1760          }1761        }1762      },1763      "PricePoint": {1764        "type": "object",1765        "properties": {1766          "date": {1767            "type": "string",1768            "format": "date"1769          },1770          "riv_usd": {1771            "type": [1772              "number",1773              "null"1774            ]1775          },1776          "latest_sale_usd": {1777            "type": [1778              "number",1779              "null"1780            ]1781          },1782          "median_usd": {1783            "type": [1784              "number",1785              "null"1786            ]1787          },1788          "sales_count": {1789            "type": "integer"1790          },1791          "volume_usd": {1792            "type": [1793              "number",1794              "null"1795            ]1796          },1797          "listings_count": {1798            "type": "integer"1799          },1800          "min_ask_usd": {1801            "type": [1802              "number",1803              "null"1804            ]1805          }1806        }1807      },1808      "Category": {1809        "type": "object",1810        "properties": {1811          "slug": {1812            "type": "string"1813          },1814          "parent_slug": {1815            "type": [1816              "string",1817              "null"1818            ]1819          },1820          "family_slug": {1821            "type": "string"1822          },1823          "name": {1824            "type": "string"1825          },1826          "level": {1827            "type": "integer"1828          },1829          "phase": {1830            "type": "integer"1831          },1832          "index_ticker": {1833            "type": [1834              "string",1835              "null"1836            ]1837          },1838          "tracked_assets": {1839            "type": "integer"1840          }1841        }1842      },1843      "Index": {1844        "type": "object",1845        "properties": {1846          "ticker": {1847            "type": "string"1848          },1849          "name": {1850            "type": "string"1851          },1852          "is_flagship": {1853            "type": "boolean"1854          },1855          "as_of": {1856            "type": [1857              "string",1858              "null"1859            ]1860          },1861          "value": {1862            "type": [1863              "number",1864              "null"1865            ]1866          },1867          "published": {1868            "type": "boolean"1869          },1870          "change_1d": {1871            "type": [1872              "number",1873              "null"1874            ]1875          },1876          "change_7d": {1877            "type": [1878              "number",1879              "null"1880            ]1881          },1882          "change_30d": {1883            "type": [1884              "number",1885              "null"1886            ]1887          },1888          "change_ytd": {1889            "type": [1890              "number",1891              "null"1892            ]1893          },1894          "change_1y": {1895            "type": [1896              "number",1897              "null"1898            ]1899          },1900          "constituents_count": {1901            "type": [1902              "integer",1903              "null"1904            ]1905          },1906          "transactions": {1907            "type": [1908              "integer",1909              "null"1910            ]1911          },1912          "market_cap_est_usd": {1913            "type": [1914              "number",1915              "null"1916            ]1917          },1918          "market_cap_confidence": {1919            "type": [1920              "string",1921              "null"1922            ]1923          }1924        }1925      },1926      "IndexPoint": {1927        "type": "object",1928        "properties": {1929          "date": {1930            "type": "string",1931            "format": "date"1932          },1933          "value": {1934            "type": "number"1935          },1936          "constituents_count": {1937            "type": "integer"1938          },1939          "transactions": {1940            "type": "integer"1941          },1942          "volume_usd": {1943            "type": [1944              "number",1945              "null"1946            ]1947          }1948        }1949      },1950      "Market": {1951        "type": "object",1952        "properties": {1953          "slug": {1954            "type": "string"1955          },1956          "name": {1957            "type": "string"1958          },1959          "as_of": {1960            "type": [1961              "string",1962              "null"1963            ]1964          },1965          "index_value": {1966            "type": [1967              "number",1968              "null"1969            ]1970          },1971          "tracked_assets": {1972            "type": [1973              "integer",1974              "null"1975            ]1976          },1977          "sales": {1978            "type": [1979              "integer",1980              "null"1981            ]1982          },1983          "volume_usd": {1984            "type": [1985              "number",1986              "null"1987            ]1988          },1989          "change_30d": {1990            "type": [1991              "number",1992              "null"1993            ]1994          }1995        }1996      },1997      "MarketDetail": {1998        "type": "object",1999        "properties": {2000          "category": {2001            "type": "object"2002          },2003          "snapshot": {2004            "type": [2005              "object",2006              "null"2007            ]2008          },2009          "counts": {2010            "type": "object"2011          },2012          "gainers": {2013            "type": "array",2014            "items": {2015              "$ref": "#/components/schemas/AssetSummary"2016            }2017          },2018          "losers": {2019            "type": "array",2020            "items": {2021              "$ref": "#/components/schemas/AssetSummary"2022            }2023          },2024          "most_valuable": {2025            "type": "array",2026            "items": {2027              "$ref": "#/components/schemas/AssetSummary"2028            }2029          },2030          "most_liquid": {2031            "type": "array",2032            "items": {2033              "$ref": "#/components/schemas/AssetSummary"2034            }2035          },2036          "recent_sales": {2037            "type": "array",2038            "items": {2039              "type": "object"2040            }2041          },2042          "history": {2043            "type": "array",2044            "items": {2045              "type": "object"2046            }2047          }2048        }2049      },2050      "Stats": {2051        "type": "object",2052        "properties": {2053          "assets": {2054            "type": "integer"2055          },2056          "sales": {2057            "type": "integer"2058          },2059          "listings": {2060            "type": "integer"2061          },2062          "sources": {2063            "type": "integer"2064          },2065          "connectors": {2066            "type": "integer"2067          },2068          "categories": {2069            "type": "integer"2070          }2071        }2072      }2073    }2074  }2075}2076