Protected_ endpoints
_endpoints : { getPublicListings : { path : "paragon-hub/skinr" ; method : "GET" ; requiresAuth : false ; queryParams : { after : "after" ; before : "before" ; limit : "limit" } ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { after : ZodOptional < ZodString > ; before : ZodOptional < ZodString > } , $loose , > , > ; listings : ZodArray < ZodObject < { id : ZodString ; state : ZodType < string & {} | "expired" | "removed" | "listed" | "sold_out" , unknown , $ZodTypeInternals < (...) & (...) | "expired" | "removed" | "listed" | "sold_out" , unknown , > , > ; last_modified : ZodString ; seller_id : ZodNumber ; skinr_id : ZodString ; created : ZodString ; expires : ZodString ; quantity : ZodNumber ; price : ZodObject < { isk : ZodOptional < ZodNumber > ; plex : ZodOptional < ZodNumber > } , $loose , > ; } , $loose , > , > ; } , $loose , > ; } ; getCharacterListings : { path : "characters/{characterId}/paragon-hub/skinr" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "characterId" ] ; queryParams : { after : "after" ; before : "before" ; limit : "limit" } ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { after : ZodOptional < ZodString > ; before : ZodOptional < ZodString > } , $loose , > , > ; listings : ZodArray < ZodObject < { id : ZodString ; state : ZodType < string & {} | "expired" | "removed" | "listed" | "sold_out" , unknown , $ZodTypeInternals < (...) & (...) | "expired" | "removed" | "listed" | "sold_out" , unknown , > , > ; last_modified : ZodString ; seller_id : ZodNumber ; skinr_id : ZodString ; created : ZodString ; expires : ZodString ; quantity : ZodNumber ; price : ZodObject < { isk : ZodOptional < ZodNumber > ; plex : ZodOptional < ZodNumber > } , $loose , > ; target : ZodObject < { character_id : ZodOptional < ZodNumber > ; corporation_id : ZodOptional < ZodNumber > ; alliance_id : ZodOptional < ZodNumber > ; public : ZodOptional < ZodBoolean > ; } , $loose , > ; } , $loose , > , > ; } , $loose , > ; } ; getAllianceListings : { path : "paragon-hub/skinr/alliances/{allianceId}" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "allianceId" ] ; queryParams : { after : "after" ; before : "before" ; limit : "limit" } ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { after : ZodOptional < ZodString > ; before : ZodOptional < ZodString > } , $loose , > , > ; listings : ZodArray < ZodObject < { id : ZodString ; state : ZodType < string & {} | "expired" | "removed" | "listed" | "sold_out" , unknown , $ZodTypeInternals < (...) & (...) | "expired" | "removed" | "listed" | "sold_out" , unknown , > , > ; last_modified : ZodString ; seller_id : ZodNumber ; skinr_id : ZodString ; created : ZodString ; expires : ZodString ; quantity : ZodNumber ; price : ZodObject < { isk : ZodOptional < ZodNumber > ; plex : ZodOptional < ZodNumber > } , $loose , > ; } , $loose , > , > ; } , $loose , > ; } ; getCharacterTargetedListings : { path : "paragon-hub/skinr/characters/{characterId}" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "characterId" ] ; queryParams : { after : "after" ; before : "before" ; limit : "limit" } ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { after : ZodOptional < ZodString > ; before : ZodOptional < ZodString > } , $loose , > , > ; listings : ZodArray < ZodObject < { id : ZodString ; state : ZodType < string & {} | "expired" | "removed" | "listed" | "sold_out" , unknown , $ZodTypeInternals < (...) & (...) | "expired" | "removed" | "listed" | "sold_out" , unknown , > , > ; last_modified : ZodString ; seller_id : ZodNumber ; skinr_id : ZodString ; created : ZodString ; expires : ZodString ; quantity : ZodNumber ; price : ZodObject < { isk : ZodOptional < ZodNumber > ; plex : ZodOptional < ZodNumber > } , $loose , > ; } , $loose , > , > ; } , $loose , > ; } ; getCorporationListings : { path : "paragon-hub/skinr/corporations/{corporationId}" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "corporationId" ] ; queryParams : { after : "after" ; before : "before" ; limit : "limit" } ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { after : ZodOptional < ZodString > ; before : ZodOptional < ZodString > } , $loose , > , > ; listings : ZodArray < ZodObject < { id : ZodString ; state : ZodType < string & {} | "expired" | "removed" | "listed" | "sold_out" , unknown , $ZodTypeInternals < (...) & (...) | "expired" | "removed" | "listed" | "sold_out" , unknown , > , > ; last_modified : ZodString ; seller_id : ZodNumber ; skinr_id : ZodString ; created : ZodString ; expires : ZodString ; quantity : ZodNumber ; price : ZodObject < { isk : ZodOptional < ZodNumber > ; plex : ZodOptional < ZodNumber > } , $loose , > ; } , $loose , > , > ; } , $loose , > ; } ; }
The base of the custom domain clients: an endpoint map turned into methods, plus the
stream*/fetchAll*page helpers andwithMetadata/withSafeMode. Extend it for a custom domain client of your own.