Add point to path in python api
try this (I am on Blender 2.81a):

import bpy

# kill everything
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(use_global=False, confirm=False)

# create curve
bpy.ops.curve.primitive_nurbs_path_add(radius=1, enter_editmode=False)
obj = bpy.context.object

# De-select all points
for pn in obj.data.splines[0].points:
    pn.select = False

# Select the last point
pn = obj.data.splines[0].points
end_point_idx = (len(obj.data.splines[0].points) - 1)
pn[end_point_idx].select = True

bpy.ops.object.mode_set(mode='EDIT') # Edit mode

bpy.ops.curve.extrude_move(CURVE_OT_extrude={"mode":'TRANSLATION'},
TRANSFORM_OT_translate={"value":(0, 2, 0)})

bpy.ops.object.mode_set(mode='OBJECT') # Object mode


(Make sure you are in object mode when you run it)