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

# GetAccessGraphNodeDetails

> Access graph node details: drilldown for a specific node



## OpenAPI

````yaml /docs/api/openapi/graph_openapi.json post /core.v1.GraphService/GetAccessGraphNodeDetails
openapi: 3.1.0
info:
  title: core.v1.GraphService
  version: 0.0.1
servers:
  - url: https://api.joinformal.com
    description: Production API
security: []
tags:
  - name: core.v1.GraphService
paths:
  /core.v1.GraphService/GetAccessGraphNodeDetails:
    post:
      tags:
        - core.v1.GraphService
      summary: GetAccessGraphNodeDetails
      description: 'Access graph node details: drilldown for a specific node'
      operationId: core.v1.GraphService.GetAccessGraphNodeDetails
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/core.v1.GetAccessGraphNodeDetailsRequest'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/core.v1.GetAccessGraphNodeDetailsResponse'
        '400':
          description: Bad Request - Invalid request parameters or body
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: invalid_request
                  message:
                    type: string
                    example: Invalid request parameters
                  details:
                    type: object
        '401':
          description: Unauthorized - Missing or invalid authentication
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: unauthorized
                  message:
                    type: string
                    example: Authentication required
        '403':
          description: Forbidden - Insufficient permissions
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: forbidden
                  message:
                    type: string
                    example: Insufficient permissions to perform this action
        '404':
          description: Not Found - Resource does not exist
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: not_found
                  message:
                    type: string
                    example: Resource not found
        '500':
          description: Internal Server Error - An error occurred processing the request
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: string
                    example: internal_error
                  message:
                    type: string
                    example: An internal error occurred
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: >-
            curl -X POST
            "https://api.joinformal.com/core.v1.GraphService/GetAccessGraphNodeDetails"
            \
              -H "X-API-KEY: YOUR_API_KEY" \
              -H "Content-Type: application/json" \
              -d '{
                "example": "value"
              }'
        - lang: javascript
          label: JavaScript (fetch)
          source: >-
            fetch("https://api.joinformal.com/core.v1.GraphService/GetAccessGraphNodeDetails",
            {
              method: "POST",
              headers: {
                "X-API-KEY": "YOUR_API_KEY",
                "Content-Type": "application/json"
              },
              body: JSON.stringify({
                example: "value"
              })
            })
              .then(response => response.json())
              .then(data => console.log(data))
              .catch(error => console.error(error));
        - lang: python
          label: Python
          source: >-
            import requests


            url =
            "https://api.joinformal.com/core.v1.GraphService/GetAccessGraphNodeDetails"

            headers = {
                "X-API-KEY": "YOUR_API_KEY",
                "Content-Type": "application/json"
            }

            data = {
                "example": "value"
            }


            response = requests.post(url, headers=headers, json=data)

            print(response.json())
        - lang: go
          label: Go
          source: |-
            package main

            import (
                "bytes"
                "encoding/json"
                "fmt"
                "io"
                "net/http"
            )

            func main() {
                url := "https://api.joinformal.com/core.v1.GraphService/GetAccessGraphNodeDetails"

                body := map[string]string{
                    "example": "value",
                }

                jsonData, _ := json.Marshal(body)

                req, _ := http.NewRequest("POST", url, bytes.NewBuffer(jsonData))
                req.Header.Set("X-API-KEY", "YOUR_API_KEY")
                req.Header.Set("Content-Type", "application/json")

                client := &http.Client{}
                resp, err := client.Do(req)
                if err != nil {
                    panic(err)
                }
                defer resp.Body.Close()

                responseBody, _ := io.ReadAll(resp.Body)
                fmt.Println(string(responseBody))
            }
components:
  schemas:
    core.v1.GetAccessGraphNodeDetailsRequest:
      type: object
      properties:
        nodeId:
          type: string
          title: node_id
          minLength: 1
        nodeType:
          type: string
          title: node_type
          minLength: 1
        query:
          type: string
          title: query
          description: >-
            Same query + time window as the graph request to keep drilldown
            scoped
        startTimestamp:
          type: string
          title: start_timestamp
          minLength: 1
          description: Unix-second timestamps (strings), matching the logs RPCs.
        endTimestamp:
          type: string
          title: end_timestamp
          minLength: 1
      title: GetAccessGraphNodeDetailsRequest
      additionalProperties: false
    core.v1.GetAccessGraphNodeDetailsResponse:
      type: object
      properties:
        detail:
          $ref: '#/components/schemas/core.v1.AccessGraphNodeDetail'
          title: detail
      title: GetAccessGraphNodeDetailsResponse
      additionalProperties: false
    core.v1.AccessGraphNodeDetail:
      type: object
      properties:
        nodeId:
          type: string
          title: node_id
        nodeType:
          type: string
          title: node_type
        connectorDetail:
          $ref: '#/components/schemas/core.v1.AccessGraphConnectorDetail'
          title: connector_detail
          description: One of the discriminated union fields - use exactly one
        identityDetail:
          $ref: '#/components/schemas/core.v1.AccessGraphIdentityDetail'
          title: identity_detail
          description: One of the discriminated union fields - use exactly one
        resourceDetail:
          $ref: '#/components/schemas/core.v1.AccessGraphResourceDetail'
          title: resource_detail
          description: One of the discriminated union fields - use exactly one
      title: AccessGraphNodeDetail
      additionalProperties: false
      description: >-
        Exactly one of these fields is required: connector_detail or
        identity_detail or resource_detail.
    core.v1.AccessGraphConnectorDetail:
      type: object
      properties:
        name:
          type: string
          title: name
        spaceName:
          type: string
          title: space_name
        totalLogs:
          type:
            - integer
            - string
          title: total_logs
          format: int64
        policyBreakdown:
          $ref: '#/components/schemas/core.v1.AccessGraphPolicyBreakdown'
          title: policy_breakdown
        connectedPeers:
          type: array
          items:
            $ref: '#/components/schemas/core.v1.AccessGraphConnectedPeer'
          title: connected_peers
      title: AccessGraphConnectorDetail
      additionalProperties: false
      description: >-
        Connector detail: current control plane metadata + policy stats from
        logs.
    core.v1.AccessGraphIdentityDetail:
      type: object
      properties:
        name:
          type: string
          title: name
        email:
          type: string
          title: email
        kind:
          type: string
          title: kind
        idpProvider:
          type: string
          title: idp_provider
        totalLogs:
          type:
            - integer
            - string
          title: total_logs
          format: int64
        totalSessions:
          type:
            - integer
            - string
          title: total_sessions
          format: int64
        policyBreakdown:
          $ref: '#/components/schemas/core.v1.AccessGraphPolicyBreakdown'
          title: policy_breakdown
        connectedPeers:
          type: array
          items:
            $ref: '#/components/schemas/core.v1.AccessGraphConnectedPeer'
          title: connected_peers
      title: AccessGraphIdentityDetail
      additionalProperties: false
      description: >-
        Identity detail: current control plane metadata + policy stats from
        logs.
    core.v1.AccessGraphResourceDetail:
      type: object
      properties:
        name:
          type: string
          title: name
        technology:
          type: string
          title: technology
        connectorName:
          type: string
          title: connector_name
        spaceName:
          type: string
          title: space_name
        totalLogs:
          type:
            - integer
            - string
          title: total_logs
          format: int64
        sensitiveFieldCount:
          type:
            - integer
            - string
          title: sensitive_field_count
          format: int64
        policyBreakdown:
          $ref: '#/components/schemas/core.v1.AccessGraphPolicyBreakdown'
          title: policy_breakdown
        connectedPeers:
          type: array
          items:
            $ref: '#/components/schemas/core.v1.AccessGraphConnectedPeer'
          title: connected_peers
      title: AccessGraphResourceDetail
      additionalProperties: false
      description: >-
        Resource detail: current control plane metadata + policy stats from
        logs.
    core.v1.AccessGraphPolicyBreakdown:
      type: object
      properties:
        mask:
          type:
            - integer
            - string
          title: mask
          format: int64
        filter:
          type:
            - integer
            - string
          title: filter
          format: int64
        block:
          type:
            - integer
            - string
          title: block
          format: int64
      title: AccessGraphPolicyBreakdown
      additionalProperties: false
      description: Breakdown of triggered policy actions by category.
    core.v1.AccessGraphConnectedPeer:
      type: object
      properties:
        nodeId:
          type: string
          title: node_id
        nodeType:
          type: string
          title: node_type
        name:
          type: string
          title: name
        logCount:
          type:
            - integer
            - string
          title: log_count
          format: int64
        triggeredPolicyCount:
          type:
            - integer
            - string
          title: triggered_policy_count
          format: int64
      title: AccessGraphConnectedPeer
      additionalProperties: false
      description: A peer node connected to the detail node, with edge stats.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: API key authentication. Get your API key from the Formal console.

````