The Arc API uses Bearer Access Tokens for authentication. Access tokens are created by POSTing to the Create an access token endpoint. To authenticate, API clients must use the client_id and client_secret provided in the Arc Dashboard. Your client_id and client_secret should be stored securely and not exposed to external systems

API Requests

To authenticate any API request, set the Authorization header to Bearer ${ACCESS_TOKEN} using the access token from the /auth/access_token endpoint. Tokens expire after 2 hours.


Client User Id
You will need to provide a unique identifier for your user when initializing the Connect flow. This identifier is the primary method of associating responses from Arc's API with a particular user record stored in your backend.

After the user submits their credentials in Connect, their utility data can be retrieved in two ways:

Connect Token

Connect must be initialized with a Connect Token scoped to the user entering the Connect flow. To retrieve a Connect Token, post to the /auth/connect_token endpoint. For new users, or existing users creating an additional utility credential, post with a unique client_user_id parameter. For users editing an existing utility credential, post with the utility_credential_id parameter corresponding to the utility credential to be updated. Make sure the Authorization header is set to Bearer ${ACCESS_TOKEN}. Tokens expire after two hours.