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

# Get connection series

> Returns the counters of one connection, or of several summed together when ids is given (a merged row of the network detail table lists its connection_ids), per time bucket over the period, ordered oldest first. Each bucket holds that interval's own totals, not a running total. Buckets with no traffic are absent rather than zero-valued, and hourly source data is retained for 90 days. A bucket is an aggregate rather than a stored row, so only bucket_start, observed_from and the counters are populated; the identity fields it inherits from the hourly row -- id, tenant_id, network_report_id, created_at, updated_at -- are left zero-valued



## OpenAPI

````yaml /api-reference/costgraph/openapi.json get /api/v1/tenant/network/connections/{id}/series
openapi: 3.0.0
info:
  description: Read and manage your CostGraph organization, spend, alerts, and settings.
  title: CostGraph API
  contact: {}
  version: '1.0'
servers:
  - url: https://api.costgraph.ai
security: []
tags:
  - name: ai
    x-group: AI
  - name: ai-serving
    x-group: AI serving
  - name: anomalies
    x-group: Anomalies
  - name: auth
    x-group: Auth
  - name: billing
    x-group: Billing
  - name: billing-export
    x-group: Billing export
  - name: budgets
    x-group: Budgets
  - name: ci
    x-group: CI
  - name: compute-recommendations
    x-group: Compute recommendations
  - name: config
    x-group: Config
  - name: context-graph
    x-group: Context graph
  - name: cost
    x-group: Cost
  - name: gpus
    x-group: GPUs
  - name: graphai
    x-group: Graph AI
  - name: integrations
    x-group: Integrations
  - name: invitations
    x-group: Invitations
  - name: kubernetes-clusters
    x-group: Kubernetes clusters
  - name: marketplace
    x-group: Marketplace
  - name: network
    x-group: Network
  - name: network-requests
    x-group: Network requests
  - name: notifications
    x-group: Notifications
  - name: oauth
    x-group: OAuth
  - name: oauth-clients
    x-group: OAuth clients
  - name: opencost
    x-group: OpenCost
  - name: organization
    x-group: Audit log
  - name: organizations
    x-group: Organizations
  - name: placement-alternatives
    x-group: Placement alternatives
  - name: reports
    x-group: Reports
  - name: settings
    x-group: Settings
  - name: sso
    x-group: Single sign-on
  - name: tenants
    x-group: Tenants
  - name: ticketing
    x-group: Ticketing
  - name: user
    x-group: Users
  - name: virtual-machines
    x-group: Virtual machines
  - name: virtual-tags
    x-group: Virtual tags
  - name: workflows
    x-group: Workflows
paths:
  /api/v1/tenant/network/connections/{id}/series:
    get:
      tags:
        - network
      summary: Get connection series
      description: >-
        Returns the counters of one connection, or of several summed together
        when ids is given (a merged row of the network detail table lists its
        connection_ids), per time bucket over the period, ordered oldest first.
        Each bucket holds that interval's own totals, not a running total.
        Buckets with no traffic are absent rather than zero-valued, and hourly
        source data is retained for 90 days. A bucket is an aggregate rather
        than a stored row, so only bucket_start, observed_from and the counters
        are populated; the identity fields it inherits from the hourly row --
        id, tenant_id, network_report_id, created_at, updated_at -- are left
        zero-valued
      parameters:
        - description: Tenant ID
          name: X-CostGraph-Tenant-ID
          in: header
          required: true
          schema:
            type: string
        - description: Connection ID (network report ID)
          name: id
          in: path
          required: true
          schema:
            type: string
        - description: >-
            More connection IDs to sum into the same series, repeated or comma
            separated, at most 100; IDs outside the tenant are ignored
          name: ids
          in: query
          explode: true
          schema:
            type: array
            items:
              type: string
        - description: 'Bucket size: hour, day, week, or month (default hour)'
          name: resolution
          in: query
          schema:
            type: string
        - description: Range start timestamp in RFC3339 format
          name: start
          in: query
          required: true
          schema:
            type: string
        - description: Range end timestamp in RFC3339 format
          name: end
          in: query
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/responses.SuccessResponse'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          $ref: >-
                            #/components/schemas/networkconnection.ConnectionSeries
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responses.ErrorResponse'
      security:
        - BearerAuth: []
components:
  schemas:
    responses.SuccessResponse:
      type: object
      required:
        - message
        - status
      properties:
        data: {}
        message:
          type: string
          example: some message
        status:
          type: string
          example: success
    networkconnection.ConnectionSeries:
      type: object
      properties:
        bucket_start:
          type: string
        bytes_client_to_server:
          type: number
        bytes_server_to_client:
          type: number
        connections_active_max:
          type: integer
        connections_closed:
          type: integer
        connections_failed:
          type: integer
        connections_opened:
          type: integer
        connections_refused:
          type: integer
        connections_reset:
          type: integer
        created_at:
          type: string
        id:
          type: string
        network_report_id:
          type: string
        observed_from:
          type: string
        observed_seconds:
          type: number
        packets_client_to_server:
          type: number
        packets_server_to_client:
          type: number
        tenant_id:
          description: Tenant that owns the row. @rls:tenant
          type: string
        updated_at:
          type: string
    responses.ErrorResponse:
      type: object
      required:
        - message
        - status
      properties:
        message:
          type: string
          example: some message
        status:
          type: string
          example: error
  securitySchemes:
    BearerAuth:
      description: Enter "Bearer {token}"
      type: apiKey
      name: Authorization
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.