I'm not sure if this is possible (I guess it depends on when a queued item gets an NZO_ID), but I was hoping that SABnzbd could return the NZO_ID when a new item is sent to the queue, allowing tracking of that NZO_ID through the queuing, downloading and post-procesing process.

In addition it would be nice to be able to query SABnzbd for a NZO_ID and have SABnzbd return its current status, queued, downloading, post-processing, complete, etc.

I'm primarily inquiring about the first request, the latter would be an added bonus.

API functions "addfile" (upload) and "addlocalfile".
Not "addid" and "addurl", because it could take hours before you have a result.
The "nzo_id" isn't known yet.
In fact, the "fetch" items do have an identifier, but it changes once the job becomes '"real".
So in principle it could return the temporary id for the addurl call, but it won't be the handle
for the final entry.