Hello,
In fact as mentioned in this forum, the sp_start_job is not synchronous, so you don't know if the job has failed of not.
Moreover, to execute a job you must be associated to a windows connection which belongs, for example to a local windows group GRP_FOR_JOB.
This group GRP_FOR_JOB must have SQLAgentOperatorRole role on msdb database.
Furthermore, if you want to wait for the failure or succes of the job, you must use stored procedures that I have implemented (and that can be found on internet).