Passing credentials to REST API through endpoint URI
search cancel

Passing credentials to REST API through endpoint URI

book

Article ID: 276483

calendar_today

Updated On:

Products

CA Automic Workload Automation - Automation Engine CA Automic One Automation

Issue/Introduction

Is there a way to pass credentials directly to an Automic REST API endpoint rather than through the Authentication headers? 

For example, if someone wanted to integrate the Prometheus endpoint with an internal grafana setup, it does not have a way to pass credentials.  Is there a way to make the endpoint visible without a username/password?

Environment

REST API 12.3, 21.0

Resolution

There isn't any way to use the endpoint without authorization.  That said, the authorization is basic authorization which can be passed through the uri endpoint.  The traditional format with authentication through the headers is usually:

http[s]://{host}:{port}/ae/api/{version}

with the username and password passed through the headers looks like this (additions in bold):

http[s]://{username}%2F{department}:{password}@{host}:{port}/ae/api/{version}

Sometimes a department must be used, so the %2F is required for the / in the user/dept.  It is also possible to use no password if the user has no password.  The format for this looks like this:

http[s]://{username}%2F{department}:@{host}:{port}/ae/api/{version}

As a full example to system/health on client 100 with user AUTOMIC/AUTOMIC and password pass at automic.example.com:8088 and using http, the final uri endpoint is:

http://automic%2Fautomic:[email protected]:8088/ae/api/v1/0100/system/health