api thinking