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

# Get data change by ID



## OpenAPI

````yaml get /v4/changes/{changeId}
openapi: 3.0.3
info:
  title: Kadoa API
  version: 3.0.0
  contact:
    name: Support
    email: support@kadoa.com
servers:
  - url: https://api.kadoa.com
security: []
paths:
  /v4/changes/{changeId}:
    get:
      tags:
        - Workflows
      summary: Get data change by ID
      parameters:
        - name: x-api-key
          in: header
          required: false
          description: API key for authorization
          schema:
            type: string
        - name: Authorization
          in: header
          required: false
          description: Bearer token for authorization
          schema:
            type: string
        - name: changeId
          in: path
          required: true
          description: ID of the workflow change to retrieve
          schema:
            type: string
      responses:
        '200':
          description: Workflow change returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Unique identifier of the change
                  workflowId:
                    type: string
                    description: ID of the workflow this change belongs to
                  data:
                    type: array
                    description: Current state of the data after the change
                    items:
                      type: object
                  differences:
                    type: array
                    description: >-
                      Structured representation of changes with object-based
                      diffing
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          description: Type of change (added, removed, or changed)
                          enum:
                            - added
                            - removed
                            - changed
                        fields:
                          type: array
                          description: List of field changes
                          items:
                            type: object
                            properties:
                              key:
                                type: string
                                description: Field name
                              value:
                                type: string
                                description: Current field value
                              previousValue:
                                type: string
                                description: >-
                                  Previous field value (only present for changed
                                  type)
                        visualDiff:
                          type: object
                          nullable: true
                          description: >-
                            Screenshot-space boxes for this diff item. Present
                            only when row grounding is available.
                          properties:
                            current:
                              type: object
                              description: >-
                                Boxes on the current change screenshot for added
                                or changed rows.
                              properties:
                                url:
                                  type: string
                                width:
                                  type: number
                                height:
                                  type: number
                                rowBox:
                                  type: object
                                  properties:
                                    x:
                                      type: number
                                    'y':
                                      type: number
                                    width:
                                      type: number
                                    height:
                                      type: number
                                fieldBoxes:
                                  type: object
                                  additionalProperties:
                                    type: object
                                    properties:
                                      x:
                                        type: number
                                      'y':
                                        type: number
                                      width:
                                        type: number
                                      height:
                                        type: number
                            previous:
                              type: object
                              description: >-
                                Boxes on the previous workflow job screenshot
                                for removed or changed rows.
                              properties:
                                url:
                                  type: string
                                width:
                                  type: number
                                height:
                                  type: number
                                rowBox:
                                  type: object
                                  properties:
                                    x:
                                      type: number
                                    'y':
                                      type: number
                                    width:
                                      type: number
                                    height:
                                      type: number
                                fieldBoxes:
                                  type: object
                                  additionalProperties:
                                    type: object
                                    properties:
                                      x:
                                        type: number
                                      'y':
                                        type: number
                                      width:
                                        type: number
                                      height:
                                        type: number
                  url:
                    type: string
                    description: URL where the change was detected
                  summary:
                    type: string
                    nullable: true
                    description: >-
                      AI-generated one-sentence summary of the data change. Null
                      if generation failed, feature is disabled, or change
                      predates the feature.
                  screenshotUrl:
                    type: string
                    description: URL of the screenshot taken when the change was detected
                  previousJobScreenshotUrl:
                    type: string
                    nullable: true
                    description: >-
                      Screenshot URL from the previous workflow job used by
                      visualDiff.previous boxes.
                  createdAt:
                    type: string
                    format: date-time
                    description: Timestamp when the change was created
        '400':
          description: Bad request (invalid change ID format)
        '401':
          description: Unauthorized (invalid or missing API key or Bearer token)
        '403':
          description: >-
            Forbidden (no access to the workflow or workflow not real-time
            enabled)
        '404':
          description: Change not found
        '500':
          description: Internal server error
      security:
        - ApiKeyAuth: []
        - BearerAuth: []
      x-code-samples:
        - lang: curl
          source: |
            curl -X GET "https://api.kadoa.com/v4/changes/123456789" \
            -H "x-api-key: YOUR_API_KEY"
        - lang: python
          source: |
            import requests

            url = "https://api.kadoa.com/v4/changes/123456789"
            headers = {
                "x-api-key": "YOUR_API_KEY"
            }

            response = requests.get(url, headers=headers)
            data = response.json()
            print(data)
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key for authentication
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Bearer token for authentication

````