Answer
Rather than writing this from scratch, export an existing Custom Event you already have configured as an example: right-click the event's header and choose Export Custom Event (or export it as part of an Application Configuration Package) to generate a .ins script. That generated script shows the exact Fnd_Event_API.Register_Custom_Event call structure, along with the Fnd_Event_Parameter_API.Register calls for each parameter and the Fnd_Event_Action_API.Update_Action call at the end — using a real exported event as a working template is far more reliable than assembling the PL/SQL calls purely from documentation.