The chat responses are generated using Generative AI technology for intuitive search and may not be entirely accurate. They are not intended as professional advice. For full details, including our use rights, privacy practices and potential export control restrictions, please refer to our Generative AI Service Privacy Information. As this is a test version, please let us know if something irritating comes up. Like you get recommended a chocolate fudge ice cream instead of an energy managing application. If that occurs, please use the feedback button in our contact form!
Skip to content

Explore our APIs. Develop innovative applications and integrations or extend the functionality of existing applications.

Getting Started

The Siemens Building X APIs let you retrieve real-time information from your building, including devices, points, events, and energy data. This guide walks you through everything you need to make your first API call.

!!! note
    For the LifecycleTwin API, refer to the [LifecycleTwin Getting Started page](../api/lifecycletwin-api/quickstart.md) instead.

Step 1: Get Your Credentials

Choose the path that matches your situation:

  1. Log in to API Manager. To access API Manager you need to have API Manager Basic or API Manager Advanced role.
  2. Go to Machine Users and create a new machine user with user groups access based on the APIs you need:

    RoleAPI AccessAccess Level
    Operations API Machine User ReadOperations APIRead
    Operations API Machine User Read+WriteOperations APIRead + Write
    Structure API Machine User ReadStructure APIRead
    Structure API Machine User Read+WriteStructure APIRead + Write
    Point Value Ingest API Machine User WritePoint Value Ingest APIWrite
    Geometry API readGeometry APIRead
    Geometry API read+writeGeometry APIRead + Write
    Energy API Machine User ReadEnergy APIRead
    Sustainability API Machine User ReadSustainability APIRead
    Identities & Privileges API readIdentities & Privileges APIRead
    Identities & Privileges API read+writeIdentities & Privileges APIRead + Write
    Activities API readActivities APIRead
    Security Workflows API read & writeSecurity Workflows APIRead + Write
    Security Monitoring API readSecurity Monitoring APIRead
    Visitor Manager API read & writeVisitor Manager APIRead + Write
    Intrusion API Machine User Read+WriteIntrusion APIRead + Write
  3. Note down the clientId and clientSecret.

Note

You need the API Manager Basic or API Manager Advanced and Machine User Administrator role to perform these steps. If you cannot see the Machine Users menu, contact the administrator in your organization.

You can use our sandbox environment in a read-only mode to explore the APIs:

  1. Request access via the developer dashboard. Credentials are granted immediately.
  2. View your credentials on the My Credentials page. Note down the clientId and clientSecret.

Note

The Fire, LifecycleTwin and Physical Security domain APIs are not part of the sandbox environment yet. Please use Contact Us to explain your use case and request access.

Step 2: Authenticate and Make Your First Call

  1. In the API Manager go to the API documentation page, select your machine user and partition, then generate the token by providing the client secret key.
  2. You are ready to call the APIs! Select the APIs of interest from the navigation below and try out your first calls.

Use your clientId and clientSecret to request an authorization token:

export CLIENT_ID=<YOUR_CLIENT_ID>
export CLIENT_SECRET=<YOUR_CLIENT_SECRET>

curl https://siemens-bt-015.eu.auth0.com/oauth/token \
  -H 'content-type: application/json' \
  -d "{
        \"client_id\": \"$CLIENT_ID\",
        \"client_secret\": \"$CLIENT_SECRET\",
        \"audience\": \"https://horizon.siemens.com\",
        \"grant_type\": \"client_credentials\"
      }"

If the request is successful, you will receive a response like this:

{
  "access_token": "eyJ0eXAiOiUSJ9.eyJpc3MiOiJdGlhbHMifQ.MJpcxLfyOt",
  "token_type": "Bearer",
  "expires_in": 86400
}

The access_token value is your API token (a JWT). The expires_in property indicates how long the token is valid, typically 24 hours. After it expires, repeat this step to get a new one.

Warning

Store your token securely. Never share it or commit it to source control. Anyone with your token can access the system on your behalf.

Make your first API call

Pass the token in the Authorization header of your API requests. For example, to list devices using the Operations API:

export TOKEN=eyJ0eXAiOiUSJ9.eyJpc3MiOiJdGlhbHMifQ.MJpcxLfyOt
export PARTITION=1bcaafc3-d4d3-43e1-ab64-89d8518d5951

curl -H "Authorization: Bearer $TOKEN" "https://eu.buildingx.siemens.com/api/openness/operations/partitions/$PARTITION/devices"

Tip

Don't know your partition ID? Use the Accounts API to retrieve it.

Next Steps

  • Integration Guide -- understand the data model and follow the step-by-step onboarding flow with a Postman collection.
  • Try Out APIs -- explore all available APIs interactively from the Developer Portal.
  • Developer's Guide -- learn about filtering, pagination, error handling, and other API conventions.
  • Are you interested in obtaining a customer account or connecting your building? Contact Siemens Regional Support.