Protected_ endpoints
_endpoints : { getFreelanceJobs : { path : "freelance-jobs" ; method : "GET" ; requiresAuth : false ; queryParams : { before : "before" ; after : "after" } ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { before : ZodOptional < ZodString > ; after : ZodOptional < ZodString > } , $loose , > , > ; freelance_jobs : ZodArray < ZodObject < { id : ZodString ; name : ZodString ; state : ZodString ; last_modified : ZodString ; progress : ZodObject < { current : ZodNumber ; desired : ZodNumber } , $loose , > ; reward : ZodOptional < ZodObject < { initial : ZodNumber ; remaining : ZodNumber } , $loose > , > ; } , $loose , > , > ; } , $loose , > ; } ; getFreelanceJobById : { path : "freelance-jobs/{jobId}" ; method : "GET" ; requiresAuth : false ; pathParams : readonly [ "jobId" ] ; responseSchema : ZodObject < { id : ZodString ; name : ZodString ; state : ZodString ; last_modified : ZodString ; progress : ZodObject < { current : ZodNumber ; desired : ZodNumber } , $loose > ; reward : ZodOptional < ZodObject < { initial : ZodNumber ; remaining : ZodNumber } , $loose > , > ; details : ZodObject < { description : ZodString ; career : ZodString ; created : ZodString ; expires : ZodOptional < ZodString > ; finished : ZodOptional < ZodString > ; creator : ZodObject < { character : ZodObject < { id : ZodNumber ; name : ZodString } , $loose > ; corporation : ZodObject < { id : ZodNumber ; name : ZodString } , $loose > ; } , $loose , > ; } , $loose , > ; configuration : ZodObject < { version : ZodNumber ; parameters : ZodRecord < ZodString , ZodUnknown > ; method : ZodString ; } , $loose , > ; contribution : ZodOptional < ZodObject < { max_committed_participants : ZodNumber ; contribution_per_participant_limit : ZodOptional < ZodNumber > ; reward_per_contribution : ZodOptional < ZodNumber > ; submission_limit : ZodOptional < ZodNumber > ; submission_multiplier : ZodOptional < ZodNumber > ; } , $loose , > , > ; access_and_visibility : ZodObject < { acl_protected : ZodBoolean ; broadcast_locations : ZodOptional < ZodArray < ZodObject < { id : ZodNumber ; name : ZodString } , $loose > > , > ; restrictions : ZodOptional < ZodObject < { minimum_age : ZodOptional < ZodNumber > ; maximum_age : ZodOptional < ZodNumber > ; } , $loose , > , > ; } , $loose , > ; } , $loose , > ; } ; getCharacterFreelanceJobs : { path : "characters/{characterId}/freelance-jobs" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "characterId" ] ; queryParams : { before : "before" ; after : "after" } ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { before : ZodOptional < ZodString > ; after : ZodOptional < ZodString > } , $loose , > , > ; freelance_jobs : ZodArray < ZodObject < { id : ZodString ; name : ZodString ; state : ZodString ; last_modified : ZodString ; progress : ZodObject < { current : ZodNumber ; desired : ZodNumber } , $loose , > ; reward : ZodOptional < ZodObject < { initial : ZodNumber ; remaining : ZodNumber } , $loose > , > ; } , $loose , > , > ; } , $loose , > ; } ; getCharacterFreelanceJobParticipation : { path : "characters/{characterId}/freelance-jobs/{jobId}/participation" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "characterId" , "jobId" ] ; responseSchema : ZodObject < { state : ZodType < string & {} | "Unspecified" | "Committed" | "Kicked" | "Resigned" , unknown , $ZodTypeInternals < string & {} | "Unspecified" | "Committed" | "Kicked" | "Resigned" , unknown , > , > ; contributed : ZodNumber ; last_modified : ZodString ; } , $loose , > ; } ; getCorporationFreelanceJobs : { path : "corporations/{corporationId}/freelance-jobs" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "corporationId" ] ; queryParams : { before : "before" ; after : "after" } ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { before : ZodOptional < ZodString > ; after : ZodOptional < ZodString > } , $loose , > , > ; freelance_jobs : ZodArray < ZodObject < { id : ZodString ; name : ZodString ; state : ZodString ; last_modified : ZodString ; progress : ZodObject < { current : ZodNumber ; desired : ZodNumber } , $loose , > ; reward : ZodOptional < ZodObject < { initial : ZodNumber ; remaining : ZodNumber } , $loose > , > ; } , $loose , > , > ; } , $loose , > ; } ; getCorporationFreelanceJobParticipants : { path : "corporations/{corporationId}/freelance-jobs/{jobId}/participants" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "corporationId" , "jobId" ] ; responseSchema : ZodObject < { cursor : ZodOptional < ZodObject < { before : ZodOptional < ZodString > ; after : ZodOptional < ZodString > } , $loose , > , > ; participants : ZodArray < ZodObject < { id : ZodNumber ; name : ZodString ; state : ZodType < string & {} | "Unspecified" | "Committed" | "Kicked" | "Resigned" , unknown , $ZodTypeInternals < | (...) & (...) | "Unspecified" | "Committed" | "Kicked" | "Resigned" , unknown , > , > ; contributed : ZodNumber ; } , $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.