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

# Get Session Detail

> Returns a single session with address, order, commission, and full cart progression timeline.
The session must belong to the authenticated client.




## OpenAPI

````yaml /swagger.yaml get /analytics/sessions/{id}
openapi: 3.0.1
info:
  title: Hum API
  version: 1.6.0
  description: >
    The Hum API provides a comprehensive solution for discovering and comparing
    Internet service providers (ISPs) at specific addresses. 

    By leveraging AI-powered agents, the API normalizes addresses, identifies
    available providers, and returns detailed information 

    about service plans, pricing, and technology options. This makes it an ideal
    solution for businesses and applications that need 

    to help users find and compare Internet service options in their area.


    The API provides endpoints for creating and managing sessions, as well as
    verifying the connection to the API. Each session represents a service
    address lookup and its provider results.


    ## API Versioning

    This API uses semantic versioning. The current version is v1.6.0. For
    breaking changes, the major version will be incremented.


    ## Rate Limiting

    API requests are protected by a global limit of 100 requests per second per
    client IP. Analytics endpoints have an additional limit of 60 requests per
    minute per client IP. When a limit is exceeded, the API returns HTTP 429
    with a `Retry-After: 60` header. No other rate-limit headers are sent.


    ## Authentication

    All endpoints require Bearer token authentication. Tokens must be included
    in the Authorization header.
  termsOfService: https://www.letshum.com/terms-of-service
  contact:
    name: Hum API Support
    url: https://docs.letshum.com
    email: support@letshum.com
  license:
    name: Proprietary
    url: https://www.letshum.com/terms-of-service
servers:
  - url: https://api-sandbox.letshum.com
    description: Sandbox environment
  - url: https://api.letshum.com
    description: Production environment
security: []
paths:
  /analytics/sessions/{id}:
    summary: Partner Analytics - Session Detail
    description: |
      Single session with full cart timeline, order data, and commission info.
    get:
      tags:
        - Analytics
      summary: Get Session Detail
      description: >
        Returns a single session with address, order, commission, and full cart
        progression timeline.

        The session must belong to the authenticated client.
      operationId: getAnalyticsSession
      parameters:
        - name: id
          in: path
          description: Session UUID
          required: true
          schema:
            type: string
            format: uuid
            example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '200':
          description: Session detail with cart progression
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    $ref: '#/components/schemas/message'
                  request_status:
                    $ref: '#/components/schemas/request_status'
                  data:
                    $ref: '#/components/schemas/analytics_session_detail'
                  meta:
                    type: object
                    properties:
                      responded_at:
                        $ref: '#/components/schemas/responded_at'
                required:
                  - message
                  - request_status
                  - data
                  - meta
              examples:
                with_order:
                  summary: Session with order and cart progression
                  value:
                    message: Analytics session
                    request_status: ok
                    data:
                      id: a1b2c3d4-e5f6-7890-abcd-ef1234567890
                      created_at: '2026-03-01T12:00:00Z'
                      campaign_id: spring_promo_2026
                      address:
                        street1: 123 Main St
                        street2: Apt 4B
                        city: Detroit
                        state: MI
                        zip: '48201'
                      furthest_step: 6
                      order:
                        order_number: HUM-A1B2C3D4
                        status: complete
                        ordered_at: '2026-03-01T12:30:00Z'
                        installed: true
                        installed_at: '2026-03-05T14:00:00Z'
                        commission_cents: 5000
                      cart_progression:
                        - step: 1
                          step_name: plan_selection
                          timestamp: '2026-03-01T12:05:00Z'
                        - step: 2
                          step_name: internet_addons
                          timestamp: '2026-03-01T12:07:00Z'
                        - step: 6
                          step_name: customer_info
                          timestamp: '2026-03-01T12:15:00Z'
                    meta:
                      responded_at: '2026-03-12T15:00:00Z'
                without_order:
                  summary: Session without an order
                  value:
                    message: Analytics session
                    request_status: ok
                    data:
                      id: b2c3d4e5-f6a7-8901-bcde-f12345678901
                      created_at: '2026-03-01T11:00:00Z'
                      campaign_id: null
                      address:
                        street1: 456 Oak Ave
                        street2: null
                        city: Ann Arbor
                        state: MI
                        zip: '48104'
                      furthest_step: 3
                      order: null
                      cart_progression:
                        - step: 1
                          step_name: plan_selection
                          timestamp: '2026-03-01T11:05:00Z'
                        - step: 2
                          step_name: internet_addons
                          timestamp: '2026-03-01T11:07:00Z'
                        - step: 3
                          step_name: tv_selection
                          timestamp: '2026-03-01T11:10:00Z'
                    meta:
                      responded_at: '2026-03-12T15:00:00Z'
        '401':
          $ref: '#/components/responses/401_unauthorized'
        '404':
          description: Session not found or does not belong to your account
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Session not found.
                  request_status:
                    type: string
                    example: warning
        '429':
          $ref: '#/components/responses/429_rate_limit'
        '500':
          $ref: '#/components/responses/500_internal_error'
      security:
        - bearerAuth: []
components:
  schemas:
    message:
      type: string
      example: What happened in the most recent request.
      description: >-
        A message returned by the API.  Includes a human-readable message about
        the status of the request.
    request_status:
      type: string
      enum:
        - ok
        - warning
        - error
      example: ok
      description: >
        An informational summary returned in API response bodies: `ok` for
        successful responses, `warning` for standard request errors, and `error`
        for endpoint-specific failures. Integrations must use the HTTP status
        code, not `request_status`, to determine whether a request succeeded.
    analytics_session_detail:
      type: object
      description: Full session detail with nested order and cart progression.
      properties:
        id:
          type: string
          format: uuid
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        created_at:
          type: string
          format: date-time
          example: '2026-03-01T12:00:00Z'
        campaign_id:
          type: string
          nullable: true
          example: spring_promo_2026
        address:
          $ref: '#/components/schemas/analytics_address'
        furthest_step:
          type: integer
          nullable: true
          minimum: 1
          maximum: 8
          example: 6
          description: Highest checkout step reached (1-8). Null if no cart events.
        order:
          $ref: '#/components/schemas/analytics_order'
        cart_progression:
          type: array
          description: >-
            Ordered list of cart events for this session, sorted by timestamp
            ascending.
          items:
            $ref: '#/components/schemas/analytics_cart_event'
    responded_at:
      allOf:
        - $ref: '#/components/schemas/timestamp'
        - description: The timestamp when the response was generated.
    analytics_address:
      type: object
      description: Service address for the session.
      properties:
        street1:
          type: string
          nullable: true
          example: 123 Main St
        street2:
          type: string
          nullable: true
          example: Apt 4B
        city:
          type: string
          nullable: true
          example: Detroit
        state:
          type: string
          nullable: true
          example: MI
        zip:
          type: string
          nullable: true
          example: '48201'
    analytics_order:
      type: object
      nullable: true
      description: Order data associated with the session. Null if no order was placed.
      properties:
        order_number:
          type: string
          example: HUM-A1B2C3D4
          description: Unique order identifier.
        status:
          type: string
          enum:
            - draft
            - submitted
            - processing
            - confirmed
            - complete
            - cancelled
          example: complete
          description: Order status. Cancelled orders are final.
        ordered_at:
          type: string
          format: date-time
          example: '2026-03-01T12:30:00Z'
          description: Timestamp when the order was submitted.
        installed:
          type: boolean
          example: true
          description: >-
            Whether the service has been installed. Always false for cancelled
            orders.
        installed_at:
          type: string
          format: date-time
          nullable: true
          example: '2026-03-05T14:00:00Z'
          description: >-
            Timestamp when service was installed. Null if not yet installed.
            Null for cancelled orders.
        commission_cents:
          type: integer
          nullable: true
          example: 5000
          description: >-
            Locked commission amount in cents. Null if no commission recorded.
            Null for cancelled orders.
    analytics_cart_event:
      type: object
      description: A single cart progression event.
      properties:
        step:
          type: integer
          minimum: 1
          maximum: 8
          example: 1
          description: |
            Numeric step in the checkout flow:
            1 = plan_selection, 2 = internet_addons, 3 = tv_selection,
            4 = tv_addons, 5 = schedule_activation, 6 = customer_info,
            7 = order_summary, 8 = order_confirmation
        step_name:
          type: string
          enum:
            - plan_selection
            - internet_addons
            - tv_selection
            - tv_addons
            - schedule_activation
            - customer_info
            - order_summary
            - order_confirmation
          example: plan_selection
          description: Human-readable name of the checkout step.
        timestamp:
          type: string
          format: date-time
          example: '2026-03-01T12:05:00Z'
          description: When this cart event occurred.
    timestamp:
      type: string
      format: date-time
      example: '2024-09-20T23:13:31.179Z'
      description: A timestamp in ISO 8601 format.
  responses:
    401_unauthorized:
      description: >-
        Unauthorized. Use the HTTP status code, not `request_status`, to detect
        the error.
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                example: Unauthorized access
              request_status:
                type: string
                enum:
                  - warning
                example: warning
            required:
              - message
              - request_status
    429_rate_limit:
      description: Rate Limit Exceeded
      headers:
        Retry-After:
          $ref: '#/components/headers/Retry-After'
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
                example: Too many requests
              message:
                type: string
                example: Rate limit exceeded. Please try again later.
              status:
                type: integer
                enum:
                  - 429
                example: 429
            required:
              - error
              - message
              - status
    500_internal_error:
      description: >-
        Internal Server Error. The response body is not guaranteed to use the
        standard API envelope.
      content:
        application/json:
          schema:
            oneOf:
              - type: object
                properties:
                  status:
                    type: integer
                    example: 500
                  error:
                    type: string
                    example: Internal Server Error
                required:
                  - status
                  - error
              - type: object
                properties:
                  message:
                    type: string
                    example: Internal server error
                required:
                  - message
  headers:
    Retry-After:
      description: Number of seconds to wait before retrying the request.
      schema:
        type: integer
      example: 60
      required: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        Bearer token authentication using API tokens.

        Include the token in the Authorization header as: `Authorization: Bearer
        <token>`


        Obtain tokens from your Hum representative or contact
        support@letshum.com. There is no self-serve API key dashboard.

````