.. _how-to-start-chargelog: How to Begin Charging ------------------------------- To begin charging, you first need to select a charging station connection. This can be done by fetching available charging stations through several API calls (:ref:`How To Fetch Charging Stations `). Choose a charging station connection and then verify via the `availableCardsForChargingProcess`_ API call as long as the user has an existing contract allowing them to begin charging using this connection. Example request for `availableCardsForChargingProcess`_: .. code-block:: javascript query availableCardsForChargingProcess { availableCardsForChargingProcess( connectorId: "ad7adac5-1111-2345-abcs-cc1c3115bd12" ) { id tagId number label expiryDate type } } Example response for `availableCardsForChargingProcess`_: .. code-block:: json { "data": { "availableCardsForChargingProcess": [ { "id": "abc123", "tagId": "026347BA", "number": "abc123", "label": "xyz789" } ] } } If there is a valid contract, this can now be used to begin charging via the selected connection. See the `remoteStart`_ API call. If no contract exists, the user may not yet have a contract (:ref:`How To Create A Contract `). Once charging has successfully begun, a `RemoteStartResponse`_ data object response will be received. Example request to begin charging. You have to use the tagId from `availableCardsForChargingProcess`_ as the authorization identifier: .. code-block:: javascript mutation remoteStart { remoteStart( authorization: { identifier: "026347BA" type: AUTO }, connector: "ad7adac5-1111-2345-abcs-cc1c3115bd12" ) { remoteStartResponse } .. _availableCardsForChargingProcess: https://graphql.docs.htb.services/api-reference/#query-availableCardsForChargingProcess .. _remoteStart: https://graphql.docs.htb.services/api-reference/#mutation-remoteStart .. _RemoteStartResponse: https://graphql.docs.htb.services/api-reference/#definition-RemoteStartResponse