Oracle GoldenGate Data Streams REST API

REST API for distributing and managing Oracle GoldenGate data streams, enabling real-time data distribution to downstream consumers.

OpenAPI Specification

oracle-goldengate-data-streams-rest-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Oracle GoldenGate Data Streams REST API
  description: >-
    REST API for managing Oracle GoldenGate Data Streams, enabling real-time
    data distribution to downstream consumers via the Distribution Server.
    Provides operations for creating, retrieving, updating, and deleting data
    stream configurations, as well as managing AsyncAPI specifications for
    stream metadata. Based on Oracle GoldenGate 26ai Data Streams REST API
    documentation.
  version: '2.0'
  contact:
    name: Oracle Support
    url: https://support.oracle.com
  license:
    name: Oracle Technology Network License
    url: https://www.oracle.com/legal/terms.html
  x-documentation:
  - url: https://docs.oracle.com/en/database/goldengate/core/26/coredoc/distribute-datastream-rest-api.html
    description: Oracle GoldenGate Data Streams REST API Documentation
servers:
- url: https://{goldengate-host}:{port}
  description: Oracle GoldenGate Microservices server
  variables:
    goldengate-host:
      default: localhost
      description: GoldenGate server host
    port:
      default: '443'
      description: HTTPS port
security:
- basicAuth: []
tags:
- name: AsyncAPI
  description: Manage AsyncAPI specifications for data streams
- name: Data Streams
  description: Manage data stream configurations
paths:
  /services/v2/stream:
    get:
      operationId: listDataStreams
      summary: Oracle Goldengate List Data Streams
      description: Returns a list of all configured data stream resources.
      tags:
      - Data Streams
      responses:
        '200':
          description: Data streams listed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataStreamList'
              examples:
                Listdatastreams200Example:
                  summary: Default listDataStreams 200 response
                  x-microcks-default: true
                  value:
                    streams:
                    - name: Example Title
                      status: example_value
                      source: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/v2/stream/{streamname}:
    get:
      operationId: getDataStream
      summary: Oracle Goldengate Retrieve a Data Stream
      description: Returns the configuration of a specific data stream.
      tags:
      - Data Streams
      parameters:
      - $ref: '#/components/parameters/streamnameParam'
      responses:
        '200':
          description: Data stream retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataStream'
              examples:
                Getdatastream200Example:
                  summary: Default getDataStream 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    description: A sample description.
                    status: active
                    source:
                      trailName: example_value
                      extractName: example_value
                      beginPosition: example_value
                    target:
                      type: kafka
                      uri: example_value
                      topicName: example_value
                      format: json
                    filters:
                    - schema: example_value
                      table: example_value
                      operations:
                      - {}
                    asyncApiSpec: example_value
                    createdAt: '2026-01-15T10:30:00Z'
                    updatedAt: '2026-01-15T10:30:00Z'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createDataStream
      summary: Oracle Goldengate Create a Data Stream
      description: >-
        Creates a new data stream configuration that defines how trail data
        is distributed to downstream consumers. Supports distribution to
        Kafka, REST endpoints, OCI Streaming, and other targets.
      tags:
      - Data Streams
      parameters:
      - $ref: '#/components/parameters/streamnameParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDataStreamRequest'
            examples:
              CreatedatastreamRequestExample:
                summary: Default createDataStream request
                x-microcks-default: true
                value:
                  description: A sample description.
                  source:
                    trailName: example_value
                    extractName: example_value
                    beginPosition: example_value
                  target:
                    type: kafka
                    uri: example_value
                    topicName: example_value
                    format: json
                  filters:
                  - schema: example_value
                    table: example_value
                    operations:
                    - {}
      responses:
        '201':
          description: Data stream created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataStream'
              examples:
                Createdatastream201Example:
                  summary: Default createDataStream 201 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    description: A sample description.
                    status: active
                    source:
                      trailName: example_value
                      extractName: example_value
                      beginPosition: example_value
                    target:
                      type: kafka
                      uri: example_value
                      topicName: example_value
                      format: json
                    filters:
                    - schema: example_value
                      table: example_value
                      operations:
                      - {}
                    asyncApiSpec: example_value
                    createdAt: '2026-01-15T10:30:00Z'
                    updatedAt: '2026-01-15T10:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '409':
          $ref: '#/components/responses/Conflict'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateDataStream
      summary: Oracle Goldengate Update a Data Stream
      description: Updates the configuration of an existing data stream.
      tags:
      - Data Streams
      parameters:
      - $ref: '#/components/parameters/streamnameParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDataStreamRequest'
            examples:
              UpdatedatastreamRequestExample:
                summary: Default updateDataStream request
                x-microcks-default: true
                value:
                  description: A sample description.
                  status: active
                  target:
                    type: example_value
                    uri: example_value
                    topicName: example_value
                    format: example_value
                  filters:
                  - schema: example_value
                    table: example_value
                    operations:
                    - {}
      responses:
        '200':
          description: Data stream updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataStream'
              examples:
                Updatedatastream200Example:
                  summary: Default updateDataStream 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    description: A sample description.
                    status: active
                    source:
                      trailName: example_value
                      extractName: example_value
                      beginPosition: example_value
                    target:
                      type: kafka
                      uri: example_value
                      topicName: example_value
                      format: json
                    filters:
                    - schema: example_value
                      table: example_value
                      operations:
                      - {}
                    asyncApiSpec: example_value
                    createdAt: '2026-01-15T10:30:00Z'
                    updatedAt: '2026-01-15T10:30:00Z'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteDataStream
      summary: Oracle Goldengate Delete a Data Stream
      description: Deletes a data stream configuration.
      tags:
      - Data Streams
      parameters:
      - $ref: '#/components/parameters/streamnameParam'
      responses:
        '204':
          description: Data stream deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/v2/stream/{streamname}/yaml:
    get:
      operationId: getAsyncApiSpec
      summary: Oracle Goldengate Get Asyncapi Specification
      description: >-
        Retrieves the AsyncAPI YAML specification for a data stream, describing
        the stream's channels, messages, and schemas for downstream consumers.
      tags:
      - AsyncAPI
      parameters:
      - $ref: '#/components/parameters/streamnameParam'
      responses:
        '200':
          description: AsyncAPI specification retrieved
          content:
            application/x-yaml:
              schema:
                type: string
                description: AsyncAPI YAML specification document
              examples:
                Getasyncapispec200Example:
                  summary: Default getAsyncApiSpec 200 response
                  x-microcks-default: true
                  value: example_value
            text/yaml:
              schema:
                type: string
              examples:
                Getasyncapispec200Example:
                  summary: Default getAsyncApiSpec 200 response
                  x-microcks-default: true
                  value: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateAsyncApiSpec
      summary: Oracle Goldengate Update Asyncapi Specification
      description: >-
        Updates the AsyncAPI YAML specification for a data stream. Allows
        customization of the stream metadata exposed to consumers.
      tags:
      - AsyncAPI
      parameters:
      - $ref: '#/components/parameters/streamnameParam'
      requestBody:
        required: true
        content:
          application/x-yaml:
            schema:
              type: string
              description: AsyncAPI YAML specification document
            examples:
              UpdateasyncapispecRequestExample:
                summary: Default updateAsyncApiSpec request
                x-microcks-default: true
                value: example_value
          text/yaml:
            schema:
              type: string
            examples:
              UpdateasyncapispecRequestExample:
                summary: Default updateAsyncApiSpec request
                x-microcks-default: true
                value: example_value
      responses:
        '200':
          description: AsyncAPI specification updated
          content:
            application/x-yaml:
              schema:
                type: string
              examples:
                Updateasyncapispec200Example:
                  summary: Default updateAsyncApiSpec 200 response
                  x-microcks-default: true
                  value: example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication with GoldenGate credentials
  parameters:
    streamnameParam:
      name: streamname
      in: path
      required: true
      description: Name of the data stream resource
      schema:
        type: string
  responses:
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Authentication required
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Conflict:
      description: Resource already exists
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
          example: 10
        message:
          type: string
          example: example_value
    DataStreamList:
      type: object
      properties:
        streams:
          type: array
          items:
            $ref: '#/components/schemas/DataStreamSummary'
          example: []
    DataStreamSummary:
      type: object
      properties:
        name:
          type: string
          description: Data stream name
          example: Example Title
        status:
          type: string
          description: Stream status
          example: example_value
        source:
          type: string
          description: Source trail or extract
          example: example_value
    DataStream:
      type: object
      properties:
        name:
          type: string
          description: Unique data stream name
          example: Example Title
        description:
          type: string
          description: Stream description
          example: A sample description.
        status:
          type: string
          description: Current stream status
          enum:
          - active
          - inactive
          - error
          example: active
        source:
          type: object
          description: Source configuration
          properties:
            trailName:
              type: string
              description: Source trail file name
            extractName:
              type: string
              description: Source extract process name
            beginPosition:
              type: string
              description: Begin position in the trail
          example: example_value
        target:
          type: object
          description: Target distribution configuration
          properties:
            type:
              type: string
              description: Target type for data distribution
              enum:
              - kafka
              - rest
              - ocistreaming
              - goldengate
            uri:
              type: string
              description: Target connection URI
            topicName:
              type: string
              description: Topic or channel name for the target
            format:
              type: string
              description: Output message format
              enum:
              - json
              - avro
              - protobuf
          example: example_value
        filters:
          type: array
          description: Table and operation filters
          items:
            type: object
            properties:
              schema:
                type: string
                description: Schema filter pattern
              table:
                type: string
                description: Table filter pattern
              operations:
                type: array
                description: Operations to include
                items:
                  type: string
                  enum:
                  - INSERT
                  - UPDATE
                  - DELETE
                  - TRUNCATE
          example: []
        asyncApiSpec:
          type: string
          description: Path to the AsyncAPI specification
          example: example_value
        createdAt:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        updatedAt:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    CreateDataStreamRequest:
      type: object
      required:
      - source
      - target
      properties:
        description:
          type: string
          example: A sample description.
        source:
          type: object
          required:
          - trailName
          properties:
            trailName:
              type: string
            extractName:
              type: string
            beginPosition:
              type: string
          example: example_value
        target:
          type: object
          required:
          - type
          - uri
          properties:
            type:
              type: string
              enum:
              - kafka
              - rest
              - ocistreaming
              - goldengate
            uri:
              type: string
            topicName:
              type: string
            format:
              type: string
              enum:
              - json
              - avro
              - protobuf
          example: example_value
        filters:
          type: array
          items:
            type: object
            properties:
              schema:
                type: string
              table:
                type: string
              operations:
                type: array
                items:
                  type: string
          example: []
    UpdateDataStreamRequest:
      type: object
      properties:
        description:
          type: string
          example: A sample description.
        status:
          type: string
          enum:
          - active
          - inactive
          example: active
        target:
          type: object
          properties:
            type:
              type: string
            uri:
              type: string
            topicName:
              type: string
            format:
              type: string
          example: example_value
        filters:
          type: array
          items:
            type: object
            properties:
              schema:
                type: string
              table:
                type: string
              operations:
                type: array
                items:
                  type: string
          example: []