Highlight (highlight.io) · Arazzo Workflow

Highlight Backend Session Payload

Version 1.0.0

Mark the backend as set up for a project, then push backend errors and logs against a session secure id.

1 workflow 1 source API 1 provider
View Spec View on GitHub ObservabilitySession ReplayError MonitoringAPMLoggingTracingOpenTelemetryOpen SourceFrontend MonitoringFull Stack MonitoringArazzoWorkflows

Provider

highlight-io

Workflows

backend-session-payload
Mark backend setup for a project, then push backend errors against a session.
Runs markBackendSetup to register the backend for the project and session, then pushBackendPayload to upload backend errors and logs keyed by the session secure id.
2 steps inputs: errors, projectVerboseId, sessionSecureId, type outputs: pushResult, setupResult
1
markBackendSetup
executePublicGraphMutation
Run the markBackendSetup GraphQL mutation to record that a backend is wired up for the project and session.
2
pushBackendErrors
executePublicGraphMutation
Run the pushBackendPayload GraphQL mutation to upload backend errors keyed by the session secure id.

Source API Descriptions

Arazzo Workflow Specification

highlight-io-backend-session-payload-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Highlight Backend Session Payload
  summary: Mark the backend as set up for a project, then push backend errors and logs against a session secure id.
  description: >-
    Highlight's server-side SDKs report backend errors and logs tied to a browser
    session through two documented GraphQL mutations on the public ingestion
    endpoint: markBackendSetup, which records that a backend is wired up for the
    project, and pushBackendPayload, which uploads backend errors and logs keyed
    by the session secure id. This workflow runs them in sequence so a backend
    error captured during a known session is delivered and attributed correctly.
    Both mutations target the same project and session, so the steps form a
    coherent backend reporting chain. Every step spells out its GraphQL request
    inline so the flow can be read and executed without opening the underlying
    OpenAPI description.
  version: 1.0.0
sourceDescriptions:
- name: sessionIngestionApi
  url: ../openapi/highlight-session-ingestion-api-openapi.yml
  type: openapi
workflows:
- workflowId: backend-session-payload
  summary: Mark backend setup for a project, then push backend errors against a session.
  description: >-
    Runs markBackendSetup to register the backend for the project and session,
    then pushBackendPayload to upload backend errors and logs keyed by the session
    secure id.
  inputs:
    type: object
    required:
    - projectVerboseId
    - sessionSecureId
    - errors
    properties:
      projectVerboseId:
        type: string
        description: The Highlight project verbose id the backend is reporting for.
      sessionSecureId:
        type: string
        description: The secure id of the session the backend payload is attributed to.
      type:
        type: string
        description: The backend setup type recorded by markBackendSetup.
        default: error
      errors:
        type: array
        description: The array of BackendErrorObjectInput records to push.
        items:
          type: object
  steps:
  - stepId: markBackendSetup
    description: >-
      Run the markBackendSetup GraphQL mutation to record that a backend is wired
      up for the project and session.
    operationId: executePublicGraphMutation
    requestBody:
      contentType: application/json
      payload:
        operationName: markBackendSetup
        query: >-
          mutation markBackendSetup($project_id: String, $session_secure_id:
          String, $type: String!) { markBackendSetup(project_id: $project_id,
          session_secure_id: $session_secure_id, type: $type) }
        variables:
          project_id: $inputs.projectVerboseId
          session_secure_id: $inputs.sessionSecureId
          type: $inputs.type
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      setupResult: $response.body#/data/markBackendSetup
  - stepId: pushBackendErrors
    description: >-
      Run the pushBackendPayload GraphQL mutation to upload backend errors keyed
      by the session secure id.
    operationId: executePublicGraphMutation
    requestBody:
      contentType: application/json
      payload:
        operationName: pushBackendPayload
        query: >-
          mutation pushBackendPayload($project_id: String!, $errors:
          [BackendErrorObjectInput]!) { pushBackendPayload(project_id:
          $project_id, errors: $errors) }
        variables:
          project_id: $inputs.projectVerboseId
          errors: $inputs.errors
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      pushResult: $response.body#/data/pushBackendPayload
  outputs:
    setupResult: $steps.markBackendSetup.outputs.setupResult
    pushResult: $steps.pushBackendErrors.outputs.pushResult