abstracted api url