Protected_ endpoints
_endpoints : { getCharacterFleetInfo : { path : "characters/{characterId}/fleet" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "characterId" ] ; responseSchema : ZodObject < { fleet_id : ZodNumber ; fleet_boss_id : ZodNumber ; role : ZodType < | string & {} | "fleet_commander" | "wing_commander" | "squad_commander" | "squad_member" , unknown , $ZodTypeInternals < | string & {} | "fleet_commander" | "wing_commander" | "squad_commander" | "squad_member" , unknown , > , > ; squad_id : ZodNumber ; wing_id : ZodNumber ; } , $loose , > ; } ; getFleetInfo : { path : "fleets/{fleetId}" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "fleetId" ] ; responseSchema : ZodObject < { fleet_id : ZodOptional < ZodNumber > ; fleet_boss_id : ZodOptional < ZodNumber > ; is_free_move : ZodBoolean ; is_registered : ZodBoolean ; is_voice_enabled : ZodBoolean ; motd : ZodString ; } , $loose , > ; } ; updateFleet : { path : "fleets/{fleetId}" ; method : "PUT" ; requiresAuth : true ; pathParams : readonly [ "fleetId" ] ; hasBody : true ; requestSchema : ZodObject < { is_free_move : ZodOptional < ZodBoolean > ; motd : ZodOptional < ZodString > ; } , $loose , > ; } ; getFleetMembers : { path : "fleets/{fleetId}/members" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "fleetId" ] ; responseSchema : ZodArray < ZodObject < { character_id : ZodNumber ; ship_type_id : ZodNumber ; wing_id : ZodNumber ; squad_id : ZodNumber ; role : ZodType < | string & {} | "fleet_commander" | "wing_commander" | "squad_commander" | "squad_member" , unknown , $ZodTypeInternals < | string & {} | "fleet_commander" | "wing_commander" | "squad_commander" | "squad_member" , unknown , > , > ; role_name : ZodString ; join_time : ZodString ; takes_fleet_warp : ZodBoolean ; solar_system_id : ZodNumber ; station_id : ZodOptional < ZodNumber > ; } , $loose , > , > ; } ; createFleetInvitation : { path : "fleets/{fleetId}/members/" ; method : "POST" ; requiresAuth : true ; pathParams : readonly [ "fleetId" ] ; hasBody : true ; } ; kickFleetMember : { path : "fleets/{fleetId}/members/{memberId}/" ; method : "DELETE" ; requiresAuth : true ; pathParams : readonly [ "fleetId" , "memberId" ] ; } ; moveFleetMember : { path : "fleets/{fleetId}/members/{memberId}/" ; method : "PUT" ; requiresAuth : true ; pathParams : readonly [ "fleetId" , "memberId" ] ; hasBody : true ; } ; deleteFleetSquad : { path : "fleets/{fleetId}/squads/{squadId}/" ; method : "DELETE" ; requiresAuth : true ; pathParams : readonly [ "fleetId" , "squadId" ] ; } ; renameFleetSquad : { path : "fleets/{fleetId}/squads/{squadId}/" ; method : "PUT" ; requiresAuth : true ; pathParams : readonly [ "fleetId" , "squadId" ] ; bodyBuilder : ( name : string ) => { name : string } ; } ; getFleetWings : { path : "fleets/{fleetId}/wings/" ; method : "GET" ; requiresAuth : true ; pathParams : readonly [ "fleetId" ] ; responseSchema : ZodArray < ZodObject < { id : ZodNumber ; name : ZodString ; squads : ZodArray < ZodObject < { id : ZodNumber ; name : ZodString } , $loose > > ; } , $loose , > , > ; } ; createFleetWing : { path : "fleets/{fleetId}/wings/" ; method : "POST" ; responseSchema : ZodObject < { wing_id : ZodNumber } , $loose > ; requiresAuth : true ; pathParams : readonly [ "fleetId" ] ; hasBody : true ; } ; deleteFleetWing : { path : "fleets/{fleetId}/wings/{wingId}/" ; method : "DELETE" ; requiresAuth : true ; pathParams : readonly [ "fleetId" , "wingId" ] ; } ; renameFleetWing : { path : "fleets/{fleetId}/wings/{wingId}/" ; method : "PUT" ; requiresAuth : true ; pathParams : readonly [ "fleetId" , "wingId" ] ; bodyBuilder : ( name : string ) => { name : string } ; } ; createFleetSquad : { path : "fleets/{fleetId}/wings/{wingId}/squads/" ; method : "POST" ; responseSchema : ZodObject < { squad_id : ZodNumber } , $loose > ; requiresAuth : true ; pathParams : readonly [ "fleetId" , "wingId" ] ; } ; }
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.