Home Connect (BSH appliances) Commands API

Send commands

Operations 3

GET /homeappliances/{haId}/commands Get a list of available and writable commands #
PUT /homeappliances/{haId}/commands Execute multiple commands #
PUT /homeappliances/{haId}/commands/{commandkey} Execute a specific command #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/home-connect:home-connect-commands-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

home-connect-commands-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Home Connect Commands API
  description: 'This API provides access to home appliances enabled by Home Connect

    (https://home-connect.com). Through the API programs can be started and

    stopped, or home appliances configured and monitored. For instance, you can

    start a cotton program on a washer and get a notification when the cycle is

    complete.


    To get started with this web client, visit https://developer.home-connect.com

    and register an account. An application with a client ID for this API client

    will be automatically generated for you.


    If you want to use your custom application here, please remember to set its

    Redirect URI to https://apiclient.home-connect.com/o2c.html, otherwise

    authorization process will fail.


    In order to use this API in your own client, you need an OAuth 2 client

    implementing the authorization code grant flow

    (https://api-docs.home-connect.com/authorization?#authorization-code-grant-flow).


    More details can be found here: https://www.rfc-editor.org/rfc/rfc6749.txt


    Authorization URL: https://api.home-connect.com/security/oauth/authorize


    Token URL: https://api.home-connect.com/security/oauth/token'
  version: '1'
servers:
- url: https://api.home-connect.com/api
tags:
- name: Commands
  description: Send commands
paths:
  /homeappliances/{haId}/commands:
    parameters:
    - name: haId
      in: path
      description: ID of home appliance
      required: true
      schema:
        type: string
    - name: Accept-Language
      in: header
      description: Language for localized assets
      schema:
        type: string
        enum:
        - de-DE
        - en-GB
        - en-US
    get:
      summary: Get a list of available and writable commands
      tags:
      - Commands
      operationId: get_available_commands
      responses:
        200:
          description: List of available and writable commands
          content:
            application/vnd.bsh.sdk.v1+json:
              schema:
                $ref: '#/components/schemas/ArrayOfCommands'
        401:
          $ref: '#/components/responses/Unauthorized'
        403:
          $ref: '#/components/responses/Forbidden'
        406:
          $ref: '#/components/responses/NotAcceptable'
        408:
          $ref: '#/components/responses/RequestTimeout'
        429:
          $ref: '#/components/responses/QuotaError'
        500:
          $ref: '#/components/responses/InternalError'
      security:
      - homeconnect_auth:
        - Control
        - Oven-Control
        - Dishwasher-Control
        - Washer-Control
        - Dryer-Control
        - CoffeeMaker-Control
        - FridgeFreezer-Control
        - Hob-Control
        - Hood-Control
        - CleaningRobot-Control
        - WasherDryer-Control
        - Refrigerator-Control
        - Freezer-Control
        - WineCooler-Control
        - CookProcessor-Control
        - Oven
        - Dishwasher
        - Washer
        - Dryer
        - CoffeeMaker
        - FridgeFreezer
        - Hob
        - Hood
        - CleaningRobot
        - WasherDryer
        - Refrigerator
        - Freezer
        - WineCooler
        - CookProcessor
    put:
      summary: Execute multiple commands
      tags:
      - Commands
      operationId: put_commands
      responses:
        204:
          description: The request was successful
        401:
          $ref: '#/components/responses/Unauthorized'
        403:
          $ref: '#/components/responses/Forbidden'
        406:
          $ref: '#/components/responses/NotAcceptable'
        408:
          $ref: '#/components/responses/RequestTimeout'
        429:
          $ref: '#/components/responses/QuotaError'
        500:
          $ref: '#/components/responses/InternalError'
      security:
      - homeconnect_auth:
        - Control
        - Oven-Control
        - Dishwasher-Control
        - Washer-Control
        - Dryer-Control
        - CoffeeMaker-Control
        - FridgeFreezer-Control
        - Hob-Control
        - Hood-Control
        - CleaningRobot-Control
        - WasherDryer-Control
        - Refrigerator-Control
        - Freezer-Control
        - WineCooler-Control
        - CookProcessor-Control
        - Oven
        - Dishwasher
        - Washer
        - Dryer
        - CoffeeMaker
        - FridgeFreezer
        - Hob
        - Hood
        - CleaningRobot
        - WasherDryer
        - Refrigerator
        - Freezer
        - WineCooler
        - CookProcessor
      requestBody:
        content:
          application/vnd.bsh.sdk.v1+json:
            schema:
              $ref: '#/components/schemas/PutCommands'
        description: List of commands to send
        required: true
  /homeappliances/{haId}/commands/{commandkey}:
    parameters:
    - name: haId
      in: path
      description: ID of home appliance
      required: true
      schema:
        type: string
    - name: commandkey
      in: path
      description: Feature key of the command
      required: true
      schema:
        type: string
    - name: Accept-Language
      in: header
      description: Language for localized assets
      schema:
        type: string
        enum:
        - de-DE
        - en-GB
        - en-US
    put:
      summary: Execute a specific command
      tags:
      - Commands
      operationId: put_command
      responses:
        204:
          description: The request was successful
        401:
          $ref: '#/components/responses/Unauthorized'
        403:
          $ref: '#/components/responses/Forbidden'
        406:
          $ref: '#/components/responses/NotAcceptable'
        408:
          $ref: '#/components/responses/RequestTimeout'
        429:
          $ref: '#/components/responses/QuotaError'
        500:
          $ref: '#/components/responses/InternalError'
      security:
      - homeconnect_auth:
        - Control
        - Oven-Control
        - Dishwasher-Control
        - Washer-Control
        - Dryer-Control
        - CoffeeMaker-Control
        - FridgeFreezer-Control
        - Hob-Control
        - Hood-Control
        - CleaningRobot-Control
        - WasherDryer-Control
        - Refrigerator-Control
        - Freezer-Control
        - WineCooler-Control
        - CookProcessor-Control
        - Oven
        - Dishwasher
        - Washer
        - Dryer
        - CoffeeMaker
        - FridgeFreezer
        - Hob
        - Hood
        - CleaningRobot
        - WasherDryer
        - Refrigerator
        - Freezer
        - WineCooler
        - CookProcessor
      requestBody:
        content:
          application/vnd.bsh.sdk.v1+json:
            schema:
              $ref: '#/components/schemas/PutCommand'
        description: Specific command to send
        required: true
components:
  schemas:
    ForbiddenError:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - key
          properties:
            key:
              type: string
            description:
              type: string
      example:
        error:
          key: insufficient_scope
          description: Insufficient scope for this resource
    NotAcceptableError:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - key
          properties:
            key:
              type: string
            description:
              type: string
      example:
        error:
          key: '406'
          description: Resource representation is only available with these types:\napplication/vnd.bsh.sdk.v1+json
    PutCommand:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          required:
          - key
          - value
          properties:
            key:
              type: string
              description: Feature key of the command
            value:
              description: Value of the command specified in "key"
      example:
        data:
          key: BSH.Common.Command.PauseProgram
          value: true
    PutCommands:
      type: object
      description: A list of commands of the home appliance
      required:
      - data
      properties:
        data:
          type: array
          items:
            type: object
            required:
            - key
            - value
            properties:
              key:
                type: string
                description: Feature key of the command
              value:
                description: Value of the command specified in "key"
      example:
        data:
        - key: BSH.Common.Command.PauseProgram
          value: true
    RequestTimeoutError:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - key
          properties:
            key:
              type: string
            description:
              type: string
      example:
        error:
          key: SDK.Error.408.RequestTimeout
    ArrayOfCommands:
      type: object
      required:
      - data
      properties:
        data:
          type: object
          required:
          - commands
          properties:
            commands:
              type: array
              items:
                type: object
                required:
                - key
                properties:
                  key:
                    type: string
                    description: Feature key of the command
                  name:
                    type: string
                    description: User-friendly, localized name of the command
      example:
        data:
          commands:
          - key: BSH.Common.Command.PauseProgram
            name: Stop the programme
          - key: BSH.Common.Command.ResumeProgram
            name: Continue the programme
    UnauthorizedError:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - key
          properties:
            key:
              type: string
            description:
              type: string
      example:
        error:
          key: invalid_token
          description: The access token expired
    TooManyRequestsError:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - key
          properties:
            key:
              type: string
            description:
              type: string
      example:
        error:
          key: '429'
          description: The user has sent too many requests in a given amount of time.
    InteralServerError:
      type: object
      required:
      - error
      properties:
        error:
          type: object
          required:
          - key
          properties:
            key:
              type: string
            description:
              type: string
      example:
        error:
          key: Internal Server Error
          description: Could not validate permissions to access HomeAppliance
  responses:
    InternalError:
      description: Internal Server Error
      content:
        application/vnd.bsh.sdk.v1+json:
          schema:
            $ref: '#/components/schemas/InteralServerError'
    QuotaError:
      description: 'The number of requests for a specific endpoint exceeded the quota of the client.

        '
      content:
        application/vnd.bsh.sdk.v1+json:
          schema:
            $ref: '#/components/schemas/TooManyRequestsError'
    RequestTimeout:
      description: API Server failed to produce an answer or has no connection to backend service
      content:
        application/vnd.bsh.sdk.v1+json:
          schema:
            $ref: '#/components/schemas/RequestTimeoutError'
    NotAcceptable:
      description: The resource identified by the request is only capable of generating response entities which have content characteristics not acceptable according to the accept headers sent in the request.
      content:
        application/vnd.bsh.sdk.v1+json:
          schema:
            $ref: '#/components/schemas/NotAcceptableError'
    Unauthorized:
      description: Unauthorized - No or invalid access token
      content:
        application/vnd.bsh.sdk.v1+json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
    Forbidden:
      description: Forbidden - Scope has not been granted
      content:
        application/vnd.bsh.sdk.v1+json:
          schema:
            $ref: '#/components/schemas/ForbiddenError'
  securitySchemes:
    homeconnect_auth:
      type: oauth2
      flows:
        authorizationCode:
          scopes:
            IdentifyAppliance: Grants right to identify a home appliance under /api/homeappliances
            Monitor: Grants access to read resources under /api/homeappliances except images and settings
            Control: Grants access to modify resources under under /api/homeappliances except images and settings
            Images: Grants access to read resources under /api/homeappliances/{haId}/images
            Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings
            Oven: Grants access to read or modify all resources under /api/homeappliances on ovens
            Oven-Monitor: Grants access to read resources under /api/homeappliances except images and settings on ovens
            Oven-Control: Grants access to modify resources under under /api/homeappliances except images and settings on ovens
            Oven-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on ovens
            Dishwasher: Grants access to read or modify all resources under /api/homeappliances on dishwashers
            Dishwasher-Monitor: Grants access to read resources under /api/homeappliances except images and settings on dishwashers
            Dishwasher-Control: Grants access to modify resources under under /api/homeappliances except images and settings on dishwashers
            Dishwasher-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on dishwashers
            Washer: Grants access to read or modify all resources under /api/homeappliances on washers
            Washer-Monitor: Grants access to read resources under /api/homeappliances except images and settings on washers
            Washer-Control: Grants access to modify resources under under /api/homeappliances except images and settings on washers
            Washer-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on washers
            Dryer: Grants access to read or modify all resources under /api/homeappliances on dryers
            Dryer-Monitor: Grants access to read resources under /api/homeappliances except images and settings on dryers
            Dryer-Control: Grants access to modify resources under under /api/homeappliances except images and settings on dryers
            Dryer-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on dryers
            WasherDryer: Grants access to read or modify all resources under /api/homeappliances on washerdryers
            WasherDryer-Monitor: Grants access to read resources under /api/homeappliances except images and settings on washerdryers
            WasherDryer-Control: Grants access to modify resources under under /api/homeappliances except images and settings on washerdryers
            WasherDryer-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on washerdryers
            FridgeFreezer: Grants access to read or modify all resources under /api/homeappliances on fridgefreezers
            FridgeFreezer-Monitor: Grants access to read resources under /api/homeappliances except images and settings on fridgefreezers
            FridgeFreezer-Control: Grants access to modify resources under /api/homeappliances except images and settings on fridgefreezers
            FridgeFreezer-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on fridgefreezers
            FridgeFreezer-Images: Grants access to read resources under /api/homeappliances/{haId}/images on fridgefreezers
            CoffeeMaker: Grants access to read or modify all resources under /api/homeappliances on coffee makers
            CoffeeMaker-Monitor: Grants access to read resources under /api/homeappliances except images and settings on coffee makers
            CoffeeMaker-Control: Grants access to modify resources under under /api/homeappliances except images and settings on coffee makers
            CoffeeMaker-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on coffee makers
            Hob: Grants access to read or modify all resources under /api/homeappliances on hobs
            Hob-Monitor: Grants access to read resources under /api/homeappliances except images and settings on hobs
            Hob-Control: Grants access to modify resources under under /api/homeappliances except images and settings on hobs
            Hob-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on hobs
            Hood: Grants access to read or modify all resources under /api/homeappliances on hoods
            Hood-Monitor: Grants access to read resources under /api/homeappliances except images and settings on hoods
            Hood-Control: Grants access to modify resources under under /api/homeappliances except images and settings on hoods
            Hood-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on hoods
            CleaningRobot: Grants access to read or modify all resources under /api/homeappliances on cleaning robots
            CleaningRobot-Monitor: Grants access to read resources under /api/homeappliances except images and settings on cleaning robots
            CleaningRobot-Control: Grants access to modify resources under under /api/homeappliances except images and settings on cleaning robots
            CleaningRobot-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on cleaning robots
            CleaningRobot-Map: Grants access to read resources under /api/homeappliances/{haId}/map on cleaning robots
            Refrigerator: Grants access to read or modify all resources under /api/homeappliances on refrigerators
            Refrigerator-Monitor: Grants access to read resources under /api/homeappliances except images and settings on refrigerators
            Refrigerator-Control: Grants access to modify resources under under /api/homeappliances except images and settings on refrigerators
            Refrigerator-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on refrigerators
            Freezer: Grants access to read or modify all resources under /api/homeappliances on freezers
            Freezer-Monitor: Grants access to read resources under /api/homeappliances except images and settings on freezers
            Freezer-Control: Grants access to modify resources under under /api/homeappliances except images and settings on freezers
            Freezer-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on freezers
            WineCooler: Grants access to read or modify all resources under /api/homeappliances on wine coolers
            WineCooler-Monitor: Grants access to read resources under /api/homeappliances except images and settings on wine coolers
            WineCooler-Control: Grants access to modify resources under under /api/homeappliances except images and settings on wine coolers
            WineCooler-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on wine coolers
            CookProcessor: Grants access to read or modify all resources under /api/homeappliances on cookprocessors
            CookProcessor-Monitor: Grants access to read resources under /api/homeappliances except images and settings on cookprocessors
            CookProcessor-Control: Grants access to modify resources under under /api/homeappliances except images and settings on cookprocessors
            CookProcessor-Settings: Grants access to read and modify resources under /api/homeappliances/{haId}/settings on cookprocessors
          authorizationUrl: https://api.home-connect.com/security/oauth/authorize
          tokenUrl: https://api.home-connect.com/security/oauth/token
      description: 'The Home Connect API uses the authorization code grant flow of the OAuth2

        Authorization Framework as specified in RFC 6749 (https://tools.ietf.org/html/rfc6749).

        Authorization tokens have to be transmitted in the HTTP headers as defined

        in RFC 6750 (https://tools.ietf.org/html/rfc6750).

        '
externalDocs:
  description: Home Connect Developer Portal
  url: https://developer.home-connect.com/