The docs seem to imply that you can use tokens and secrets interchangeably, however, when you GET /conversations/{conversationId} using a secret you get a 400 "MissingProperty" error saying no user ID specified. It looks like it's trying to decode the secret as a JWT.
This puts one in a tricky situation as you have no way to retrieve a conversation once a token has expired forcing you to either:
a) start a new conversation every session or
b) repeatedly renew all tokens constantly (which doesn't seem viable at scale)
⚠Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.
Update: this only happens when Enhanced Authentication Options is enabled in the DirectLine settings:

Hopefully, this will help anyone else who runs into this issue.
In light of this, it doesn't seem to be a bug, more a case of obscure docs. I'll leave this open in case you want to rectify.
Fixed.
@kaiqb, as I see your fix is:
"If you have "Enhanced authentication option" enabled in the Direct Line settings, you might get a 400 "MissingProperty" error saying no user ID specified."
I'm not sure if that's actually right, this should (as far as I understand) work even when the Enhanced Authentication is enabled.
It seems like a bug.
So there's no fix ? We're stuck we a 400 and a false error a long as the enhanced authentication is activated ?
More than obscure doc, it still looks like a bug and is problematic