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

# List networks

> Lists your organization's networks. Use `network_type` to choose whether to list base networks (the full collections of charging operators your roaming identities can reach) or sub-networks (the named slices you've created from them). You can narrow the list further — for example to sub-networks of one particular parent, or to base networks that are published. Results come back a page at a time.



## OpenAPI

````yaml /openapi/emsp-network/openapi.yaml get /emsp/v1/networks
openapi: 3.0.0
info:
  title: Spirii EMSP - Network & Access Control API
  description: >-
    Manages network access and location visibility for secure multi-tenant
    operation.
  version: v1
  contact: {}
servers:
  - url: https://api.spirii.com
    description: Production
security:
  - OAuth2ClientCredentials: []
tags:
  - name: Networks
    description: Network lifecycle management
paths:
  /emsp/v1/networks:
    get:
      tags:
        - Networks
      summary: List networks
      description: >-
        Lists your organization's networks. Use `network_type` to choose whether
        to list base networks (the full collections of charging operators your
        roaming identities can reach) or sub-networks (the named slices you've
        created from them). You can narrow the list further — for example to
        sub-networks of one particular parent, or to base networks that are
        published. Results come back a page at a time.
      operationId: NetworkController_findAll_v1
      parameters:
        - name: Idempotency-Key
          in: header
          description: >-
            Client-generated unique key per operation intent (UUID). Same key +
            identical body replays the original response; same key + different
            body returns 409.
          required: true
          schema:
            type: string
            format: uuid
        - name: after
          required: false
          in: query
          description: >-
            Cursor to start fetching records after — the `pagination.end_cursor`
            of a previous response. Omit it to fetch the first page, and stop
            paging once `pagination.has_next` is false. Sending it empty is a
            400: an empty cursor is a broken cursor, not a request for the first
            page.
          schema:
            minLength: 1
            type: string
        - name: cursor
          required: false
          in: query
          deprecated: true
          description: 'Deprecated: use `after`.'
          schema:
            minLength: 1
            type: string
        - name: limit
          required: false
          in: query
          description: Results per page (1–200)
          schema:
            default: 50
            type: number
        - name: network_type
          required: true
          in: query
          description: >-
            Which kind of network to list — BASE for base networks (the full
            collections of operators your roaming identities can reach), or SUB
            for sub-networks (the named slices you've created from them).
          schema:
            type: string
            enum:
              - BASE
              - SUB
        - name: protocol
          required: false
          in: query
          description: Only return networks using a particular roaming standard version.
          schema:
            type: string
            enum:
              - OCPI_211
              - OCPI_221
              - OCPI_230
              - OICP_23
        - name: roaming_hub
          required: false
          in: query
          description: >-
            Only return networks reached through a particular roaming hub (such
            as Hubject).
          schema:
            type: string
        - name: parent_network_id
          required: false
          in: query
          description: Only return sub-networks created from this parent base network.
          schema:
            type: string
        - name: published
          required: false
          in: query
          description: >-
            Filter BASE networks by their published flag. Ignored when
            network_type=SUB.
          schema:
            type: boolean
      responses:
        '200':
          description: Paginated list of networks visible to the calling tenant.
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginatedEnvelope'
                  - type: object
                    required:
                      - data
                    properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/NetworkResponse'
components:
  schemas:
    PaginatedEnvelope:
      type: object
      properties:
        pagination:
          description: Pagination state for this page.
          allOf:
            - $ref: '#/components/schemas/PaginationMetaResponse'
        next_cursor:
          type: string
          nullable: true
          example: null
          deprecated: true
          description: 'Deprecated: use `pagination.end_cursor`.'
        has_next:
          type: boolean
          example: false
          deprecated: true
          description: 'Deprecated: use `pagination.has_next`.'
      required:
        - pagination
        - next_cursor
        - has_next
    NetworkResponse:
      type: object
      properties:
        network_id:
          type: string
          format: uuid
          description: Network identifier.
        name:
          type: string
          description: >-
            BASE network name (auto-derived from the emp_identity and immutable)
            or the creator-set SUB network name.
        network_type:
          description: Network kind.
          allOf:
            - $ref: '#/components/schemas/NetworkType'
        published:
          type: boolean
          description: >-
            Whether a BASE network is currently published. Always false for SUB
            networks.
        publish_state:
          nullable: true
          description: Publish lifecycle state for BASE networks; null for SUB networks.
          allOf:
            - $ref: '#/components/schemas/PublishState'
        unpublish_started_at:
          type: string
          format: date-time
          nullable: true
          description: When the current unpublish (drain) was started, if any.
        unpublish_drain_until:
          type: string
          format: date-time
          nullable: true
          description: >-
            When the unpublish drain window ends, after which the network is
            fully unpublished.
        tenant_id:
          type: string
          format: uuid
          description: Owning tenant identifier.
        emp_identity_id:
          type: string
          format: uuid
          description: emp_identity the network belongs to.
        description:
          type: string
          nullable: true
          description: Free-text description.
        cpo_ids:
          description: Operator IDs (eMI3, e.g. `DK*SPI`) of the CPOs in this network.
          type: array
          items:
            type: string
        protocol:
          description: Roaming protocols carried by the network.
          type: array
          items:
            type: string
        roaming_hub:
          description: Roaming hubs the network is reachable through.
          type: array
          items:
            type: string
        publicly_accessible:
          type: boolean
          description: Whether the network is publicly accessible.
        parent_network_id:
          type: string
          format: uuid
          nullable: true
          description: Parent BASE network for a SUB network; null for BASE networks.
        countries:
          description: ISO 3166-1 country codes the network covers.
          type: array
          items:
            type: string
        power_types:
          description: Power types the network filters on.
          type: array
          items:
            type: string
        parking_types:
          description: Parking types the network filters on.
          type: array
          items:
            type: string
        facilities:
          description: Facilities the network filters on.
          type: array
          items:
            type: string
        auto_accept_cpo_additions:
          type: boolean
          description: Whether newly-available CPOs are auto-accepted into the network.
        created_at:
          type: string
          format: date-time
          description: Creation timestamp (UTC).
        updated_at:
          type: string
          format: date-time
          description: Last-update timestamp (UTC).
      required:
        - network_id
        - name
        - network_type
        - published
        - publish_state
        - unpublish_started_at
        - unpublish_drain_until
        - tenant_id
        - emp_identity_id
        - description
        - cpo_ids
        - protocol
        - roaming_hub
        - publicly_accessible
        - parent_network_id
        - countries
        - power_types
        - parking_types
        - facilities
        - auto_accept_cpo_additions
        - created_at
        - updated_at
    PaginationMetaResponse:
      type: object
      properties:
        end_cursor:
          type: string
          nullable: true
          example: null
          description: >-
            Cursor for the end of the current page. Pass it back as `after` to
            fetch the next page; null on the last page.
        has_next:
          type: boolean
          example: false
          description: Whether there are more records to fetch.
      required:
        - end_cursor
        - has_next
    NetworkType:
      type: string
      enum:
        - BASE
        - SUB
      description: Network kind.
    PublishState:
      type: string
      enum:
        - PUBLISHED
        - UNPUBLISHED
        - UNPUBLISHING
      description: Publish lifecycle state for BASE networks; null for SUB networks.
  securitySchemes:
    OAuth2ClientCredentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: /oauth/token
          scopes:
            emsp:networks:read: View network and access control configuration
            emsp:networks:write: Create/update/delete SUB networks, manage access rules
            emsp:networks:publish: Publish/drain networks (PATCH /networks/:id/publish-state)

````