It's much cleaner than generating SQL, and doesn't run into issues with exceeding the maximum number of parameters.
insert into your_table(id, created_at, uri, project_id) select id , created_at , endpoint as uri , project_id from jsonb_to_recordset($1) as x( id uuid , created_at timestamptz , endpoint text , project_id uuid )
It's much cleaner than generating SQL, and doesn't run into issues with exceeding the maximum number of parameters.