# Get Started with Industry APIs

Industry APIs are exposed on top of Energy and Utilites Cloud to enable external systems to interact with the Salesforce data models.

:::important
Update Asset Status API is the only Industry API for Energy and Utilities Cloud.
:::

Here are the steps to access and use the Update Asset Status API.

## 1. Authorize Access

For a client application to access REST API resources, it must be authorized as a safe visitor. To implement this authorization, use a connected app and an OAuth 2.0 authorization flow.

1. Create a Connected App

   A connected app requests access to REST API resources on behalf of the client application. For a connected app to request access, it must be integrated with your org’s REST API using the OAuth 2.0 protocol. OAuth 2.0 is an open protocol that authorizes secure data sharing between applications through the exchange of tokens.

   For instructions to configure a connected app, see [Create a Connected App](https://help.salesforce.com/s/articleView?id=sf.connected_app_create.htm\&type=5) in *Salesforce Help*. Specifically, follow the instructions in [Enable OAuth Settings for API Integration](https://help.salesforce.com/articleView?id=connected_app_create_api_integration.htm\&language=en_US).

2. Generate Access Tokens

   OAuth authorization flows grant a client app restricted access to REST API resources on a resource server. Each OAuth flow offers a different process for approving access to a client app, but in general the flows consist of three main steps.

   1. To initiate an authorization flow, a connected app on behalf of a client app requests access to a REST API resource.
   2. In response, an authorizing server grants access tokens to the connected app.
   3. A resource server validates these access tokens and approves access to the protected REST API resource.

   After reviewing and selecting an OAuth authorization flow, apply it to your connected app. For details about each supported flow, see [OAuth Authorization Flows](https://help.salesforce.com/articleView?id=remoteaccess_oauth_flows.htm\&language=en_US) in *Salesforce Help*.

3. Assign Permission Set Licenses

   To access Industry API, assign at least one of these permission set licenses:

- EAndUSalesApplication
- EAndUServiceConsole

  For instructions to assign a permission set license, see [Permission Set Licenses](https://help.salesforce.com/s/articleView?id=sf.users_permissionset_licenses_overview.htm\&type=5) in *Salesforce Help*.

## 2. Call the API

Use the API to validate the request parameters and invoke the `sfiEnergy_UpdateAssetStatus` integration procedure to update the status of an asset. See [API reference](https://developer.salesforce.com/docs/industries/energy/references/AssetApi/v57.0?meta=Summary).

## 3. Extend the API

You can extend and customize Update Asset Status API by leveraging `sfiEnergy_UpdateAssetStatus` integration procedure.

**Sample Request for IP**

```
{
  "effectiveDate":"2022-01-27",
  "status":"Subscribed",
  "reasonCode":"Online",
  "externalAccountId": "123",
  "externalContractId": "45"
}
```

**Sample Response for IP**

```
{
  "code": 200,
  "status":"success",
  "message":"Asset status is updated successfully"
}
```
