Jenkins jobs that use the widely used git plugin, can be triggered remotely with curl or a webhook. The job must have the option “Poll SCM” enabled. That’s all to enable push triggers, no timer has to be configured. Jobs are only executed if there is an actual source code change. Off course you can configure a timer, if you also want a periodic pull.
An example curl commando to trigger all jobs that have configured the repository URL “ssh://email@example.com/demo/my-api.git” in Git SCM and have “Poll SCM” enabled: