If completed exists, then discard and then create a new one, if failed then create a new one; if there is none at all then error.

Language
Credentials
OAuth2