> ## Documentation Index
> Fetch the complete documentation index at: https://docs.minstroem.app/llms.txt
> Use this file to discover all available pages before exploring further.

# List addresses

> List your addresses and the data available for each.

```http theme={null}
GET /consumer/v1/me/addresses
```

Follow [Quick start](/consumer-api/quickstart) to try the curl example. See [Time and ranges](/consumer-api/time-and-ranges) and [Data interpretation](/consumer-api/data-interpretation) for help using the results.


## OpenAPI

````yaml GET /me/addresses
openapi: 3.1.0
info:
  title: Min Strøm Consumer API
  version: 1.0.0
  summary: Read-only access to your own energy data with Min Strøm Plus.
  description: >-
    Read your energy data with an API key created in the iOS app. An active Min
    Strøm Plus subscription is required. See the guides for time ranges, data
    interpretation, and request limits.
  contact:
    name: Min Strøm
    email: engberg@minstroem.app
servers:
  - url: https://api.minstroem.app/consumer/v1
    description: Consumer API
security:
  - ConsumerBearer: []
tags:
  - name: Addresses
    description: Your addresses and available data.
  - name: Energy
    description: Consumption, export and calculated amounts.
  - name: Prices
    description: Confirmed and forecast address prices.
paths:
  /me/addresses:
    get:
      tags:
        - Addresses
      summary: List addresses
      description: List your addresses and the data available for each.
      operationId: listAddresses
      responses:
        '200':
          description: Your addresses. The list is empty when no addresses are available.
          headers:
            X-Request-ID:
              $ref: '#/components/headers/RequestId'
            Cache-Control:
              $ref: '#/components/headers/CacheControl'
            X-RateLimit-Limit-Minute:
              $ref: '#/components/headers/LimitMinute'
            X-RateLimit-Remaining-Minute:
              $ref: '#/components/headers/RemainingMinute'
            X-RateLimit-Reset-Minute:
              $ref: '#/components/headers/ResetMinute'
            X-RateLimit-Limit-Day:
              $ref: '#/components/headers/LimitDay'
            X-RateLimit-Remaining-Day:
              $ref: '#/components/headers/RemainingDay'
            X-RateLimit-Reset-Day:
              $ref: '#/components/headers/ResetDay'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AddressResponse'
              examples:
                synthetic:
                  summary: Synthetic example; not customer data
                  value:
                    data:
                      - id: 2b4bf7a8-b5d0-45ab-8d42-3a5688bba167
                        label: Example home
                        formattedAddress: Example Road 12, 1000 Example City
                        region: DK2
                        timeZone: Europe/Copenhagen
                        gridOperatorName: null
                        supplierName: null
                        capabilities:
                          consumption: true
                          solarExport: true
                          consumptionCosts: true
                          solarExportRevenue: true
                          prices: true
                          forecastPrices: true
                empty:
                  summary: No available rows
                  value:
                    data: []
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
      x-codeSamples:
        - lang: curl
          label: curl
          source: |-
            curl --fail-with-body --silent --show-error \
              --header "Authorization: Bearer ${MINSTROEM_API_TOKEN}" \
              "https://api.minstroem.app/consumer/v1/me/addresses"
components:
  headers:
    RequestId:
      description: Response UUID for support. Never send your key.
      schema:
        type: string
        format: uuid
    CacheControl:
      description: Private, non-cacheable response.
      schema:
        type: string
        const: private, no-store
    LimitMinute:
      description: Configured minute limit; present after quota evaluation.
      schema:
        type: integer
        minimum: 1
      example: 60
    RemainingMinute:
      description: Remaining minute attempts; present after quota evaluation.
      schema:
        type: integer
        minimum: 0
    ResetMinute:
      description: >-
        Minute reset as Unix seconds (UTC fixed window); present after quota
        evaluation.
      schema:
        type: integer
        format: int64
    LimitDay:
      description: Configured day limit; present after quota evaluation.
      schema:
        type: integer
        minimum: 1
      example: 2000
    RemainingDay:
      description: Remaining day attempts; present after quota evaluation.
      schema:
        type: integer
        minimum: 0
    ResetDay:
      description: >-
        Day reset as Unix seconds (UTC fixed window); present after quota
        evaluation.
      schema:
        type: integer
        format: int64
    RetryAfter:
      description: Seconds until the latest reset among exhausted windows; present on 429.
      schema:
        type: integer
        minimum: 1
  schemas:
    AddressResponse:
      type: object
      additionalProperties: false
      required:
        - data
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Address'
    Address:
      type: object
      additionalProperties: false
      required:
        - id
        - label
        - formattedAddress
        - region
        - timeZone
        - gridOperatorName
        - supplierName
        - capabilities
      properties:
        id:
          type: string
          format: uuid
          description: Address ID to use in series requests.
        label:
          type: string
          description: User-facing label.
        formattedAddress:
          type: string
          description: Formatted display address.
        region:
          type:
            - string
            - 'null'
          enum:
            - DK1
            - DK2
            - SE1
            - SE2
            - SE3
            - SE4
            - NO1
            - NO2
            - NO3
            - NO4
            - NO5
            - null
          description: Electricity-price region, or null when unavailable.
        timeZone:
          $ref: '#/components/schemas/TimeZone'
        gridOperatorName:
          type:
            - string
            - 'null'
          description: Grid operator name, or null when unavailable.
        supplierName:
          type:
            - string
            - 'null'
          description: Current electricity supplier name, or null when unavailable.
        capabilities:
          $ref: '#/components/schemas/Capabilities'
    Error:
      type: object
      additionalProperties: false
      required:
        - error
        - reason
        - errorCode
      properties:
        error:
          type: boolean
          const: true
        reason:
          type: string
          description: Safe human-readable explanation; use errorCode for program logic.
        errorCode:
          type: string
          description: Stable machine-readable error code.
    TimeZone:
      type: string
      description: >-
        Calendar used for interval boundaries: Europe/Copenhagen. Timestamps are
        UTC.
      examples:
        - Europe/Copenhagen
    Capabilities:
      type: object
      additionalProperties: false
      required:
        - consumption
        - solarExport
        - consumptionCosts
        - solarExportRevenue
        - prices
        - forecastPrices
      properties:
        consumption:
          type: boolean
          description: Electricity consumption is available.
        solarExport:
          type: boolean
          description: Solar-export readings are available.
        consumptionCosts:
          type: boolean
          description: Calculated consumption costs are available.
        solarExportRevenue:
          type: boolean
          description: Calculated solar-export revenue is available.
        prices:
          type: boolean
          description: Historical electricity prices are available.
        forecastPrices:
          type: boolean
          description: Hourly price forecasts are available.
  responses:
    Unauthorized:
      description: The API key is invalid (invalid_token) or expired (credential_expired).
      headers:
        X-Request-ID:
          $ref: '#/components/headers/RequestId'
        Cache-Control:
          $ref: '#/components/headers/CacheControl'
        X-RateLimit-Limit-Minute:
          $ref: '#/components/headers/LimitMinute'
        X-RateLimit-Remaining-Minute:
          $ref: '#/components/headers/RemainingMinute'
        X-RateLimit-Reset-Minute:
          $ref: '#/components/headers/ResetMinute'
        X-RateLimit-Limit-Day:
          $ref: '#/components/headers/LimitDay'
        X-RateLimit-Remaining-Day:
          $ref: '#/components/headers/RemainingDay'
        X-RateLimit-Reset-Day:
          $ref: '#/components/headers/ResetDay'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            reason: A valid credential is required.
            errorCode: invalid_token
    Forbidden:
      description: >-
        An active Plus subscription is required (plus_required), or access is
        denied (forbidden).
      headers:
        X-Request-ID:
          $ref: '#/components/headers/RequestId'
        Cache-Control:
          $ref: '#/components/headers/CacheControl'
        X-RateLimit-Limit-Minute:
          $ref: '#/components/headers/LimitMinute'
        X-RateLimit-Remaining-Minute:
          $ref: '#/components/headers/RemainingMinute'
        X-RateLimit-Reset-Minute:
          $ref: '#/components/headers/ResetMinute'
        X-RateLimit-Limit-Day:
          $ref: '#/components/headers/LimitDay'
        X-RateLimit-Remaining-Day:
          $ref: '#/components/headers/RemainingDay'
        X-RateLimit-Reset-Day:
          $ref: '#/components/headers/ResetDay'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            reason: An active Min Strøm Plus subscription is required.
            errorCode: plus_required
    RateLimited:
      description: >-
        Minute or daily quota exhausted. Denied attempts count too; honor
        Retry-After.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/RequestId'
        Cache-Control:
          $ref: '#/components/headers/CacheControl'
        X-RateLimit-Limit-Minute:
          $ref: '#/components/headers/LimitMinute'
        X-RateLimit-Remaining-Minute:
          $ref: '#/components/headers/RemainingMinute'
        X-RateLimit-Reset-Minute:
          $ref: '#/components/headers/ResetMinute'
        X-RateLimit-Limit-Day:
          $ref: '#/components/headers/LimitDay'
        X-RateLimit-Remaining-Day:
          $ref: '#/components/headers/RemainingDay'
        X-RateLimit-Reset-Day:
          $ref: '#/components/headers/ResetDay'
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            reason: The request limit has been exceeded.
            errorCode: rate_limited
    InternalError:
      description: An unexpected error occurred. Retry later or contact support.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/RequestId'
        Cache-Control:
          $ref: '#/components/headers/CacheControl'
        X-RateLimit-Limit-Minute:
          $ref: '#/components/headers/LimitMinute'
        X-RateLimit-Remaining-Minute:
          $ref: '#/components/headers/RemainingMinute'
        X-RateLimit-Reset-Minute:
          $ref: '#/components/headers/ResetMinute'
        X-RateLimit-Limit-Day:
          $ref: '#/components/headers/LimitDay'
        X-RateLimit-Remaining-Day:
          $ref: '#/components/headers/RemainingDay'
        X-RateLimit-Reset-Day:
          $ref: '#/components/headers/ResetDay'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            reason: An unexpected error occurred.
            errorCode: internal_error
    ServiceUnavailable:
      description: >-
        Subscription verification or request limiting is temporarily
        unavailable. Retry later.
      headers:
        X-Request-ID:
          $ref: '#/components/headers/RequestId'
        Cache-Control:
          $ref: '#/components/headers/CacheControl'
        X-RateLimit-Limit-Minute:
          $ref: '#/components/headers/LimitMinute'
        X-RateLimit-Remaining-Minute:
          $ref: '#/components/headers/RemainingMinute'
        X-RateLimit-Reset-Minute:
          $ref: '#/components/headers/ResetMinute'
        X-RateLimit-Limit-Day:
          $ref: '#/components/headers/LimitDay'
        X-RateLimit-Remaining-Day:
          $ref: '#/components/headers/RemainingDay'
        X-RateLimit-Reset-Day:
          $ref: '#/components/headers/ResetDay'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: true
            reason: Min Strøm Plus subscription verification is unavailable.
            errorCode: entitlement_unavailable
  securitySchemes:
    ConsumerBearer:
      type: http
      scheme: bearer
      description: >-
        API key created in the iOS app. Requires an active Min Strøm Plus
        subscription.

````