Oracle GoldenGate Stream Analytics REST API

REST API for managing Oracle GoldenGate Stream Analytics pipelines, enabling real-time event stream processing, monitoring, and dashboard creation.

OpenAPI Specification

oracle-goldengate-stream-analytics-rest-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Oracle GoldenGate Stream Analytics REST API
  description: >-
    REST API for managing Oracle GoldenGate Stream Analytics (GGSA) pipelines
    and users. Enables CI/CD integration by providing programmatic access to
    export, import, publish, and unpublish stream processing pipelines, as well
    as manage user accounts and roles. Based on Oracle GoldenGate Stream
    Analytics 19.1 REST API documentation.
  version: 19.1.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/middleware/fusion-middleware/osa/19.1/ggsa-rest-api/rest-endpoints.html
    description: GoldenGate Stream Analytics REST API Reference
servers:
- url: https://{ggsa-host}:{port}/osa
  description: Oracle GoldenGate Stream Analytics server
  variables:
    ggsa-host:
      default: localhost
      description: GGSA server host
    port:
      default: '9080'
      description: GGSA HTTP/S port
security:
- basicAuth: []
tags:
- name: Artifacts
  description: Import and export GGSA artifacts
- name: Pipelines
  description: Manage stream processing pipelines
- name: Users
  description: User management and authorization
paths:
  /services/v1/pipelines:
    get:
      operationId: listPipelines
      summary: Oracle Goldengate List Pipelines
      description: >-
        Returns a list of all GGSA pipelines with their current status.
        Includes published and unpublished pipelines.
      tags:
      - Pipelines
      responses:
        '200':
          description: Pipelines listed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineList'
              examples:
                Listpipelines200Example:
                  summary: Default listPipelines 200 response
                  x-microcks-default: true
                  value:
                    pipelines:
                    - id: abc123
                      name: Example Title
                      description: A sample description.
                      status: Draft
                      createdBy: example_value
                      createdAt: '2026-01-15T10:30:00Z'
                      updatedAt: '2026-01-15T10:30:00Z'
                      sources: {}
                      targets: {}
                      stages: {}
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/v1/pipelines/{id}/export:
    get:
      operationId: exportPipeline
      summary: Oracle Goldengate Export a Pipeline
      description: >-
        Exports a GGSA pipeline and all its dependencies as a JSON artifact,
        including sources, targets, references, connections, predictive models,
        geo fences, visualizations, and custom jars.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/pipelineIdParam'
      responses:
        '200':
          description: Pipeline exported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PipelineExport'
              examples:
                Exportpipeline200Example:
                  summary: Default exportPipeline 200 response
                  x-microcks-default: true
                  value:
                    pipeline:
                      id: abc123
                      name: Example Title
                      description: A sample description.
                      status: Draft
                      createdBy: example_value
                      createdAt: '2026-01-15T10:30:00Z'
                      updatedAt: '2026-01-15T10:30:00Z'
                      sources:
                      - {}
                      targets:
                      - {}
                      stages:
                      - {}
                    connections:
                    - name: Example Title
                      type: example_value
                      configuration: example_value
                    references:
                    - name: Example Title
                      type: example_value
                    customJars:
                    - name: Example Title
                      path: example_value
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/v1/pipelines/{id}/publish:
    patch:
      operationId: publishPipeline
      summary: Oracle Goldengate Publish a Pipeline
      description: >-
        Publishes a pipeline, deploying it to the Spark runtime for execution.
        A published pipeline actively processes streaming data from configured
        sources and writes results to configured targets.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/pipelineIdParam'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublishPipelineRequest'
            examples:
              PublishpipelineRequestExample:
                summary: Default publishPipeline request
                x-microcks-default: true
                value:
                  sparkConfig: example_value
      responses:
        '200':
          description: Pipeline published
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
              examples:
                Publishpipeline200Example:
                  summary: Default publishPipeline 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    description: A sample description.
                    status: Draft
                    createdBy: example_value
                    createdAt: '2026-01-15T10:30:00Z'
                    updatedAt: '2026-01-15T10:30:00Z'
                    sources:
                    - id: abc123
                      name: Example Title
                      type: Kafka
                      connectionName: example_value
                    targets:
                    - id: abc123
                      name: Example Title
                      type: Kafka
                      connectionName: example_value
                    stages:
                    - id: abc123
                      name: Example Title
                      type: Query
                      description: A sample description.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/v1/pipelines/{id}/unpublish:
    patch:
      operationId: unpublishPipeline
      summary: Oracle Goldengate Unpublish a Pipeline
      description: >-
        Unpublishes a pipeline, stopping its execution on the Spark runtime.
        The pipeline configuration is preserved and can be re-published later.
      tags:
      - Pipelines
      parameters:
      - $ref: '#/components/parameters/pipelineIdParam'
      responses:
        '200':
          description: Pipeline unpublished
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Pipeline'
              examples:
                Unpublishpipeline200Example:
                  summary: Default unpublishPipeline 200 response
                  x-microcks-default: true
                  value:
                    id: abc123
                    name: Example Title
                    description: A sample description.
                    status: Draft
                    createdBy: example_value
                    createdAt: '2026-01-15T10:30:00Z'
                    updatedAt: '2026-01-15T10:30:00Z'
                    sources:
                    - id: abc123
                      name: Example Title
                      type: Kafka
                      connectionName: example_value
                    targets:
                    - id: abc123
                      name: Example Title
                      type: Kafka
                      connectionName: example_value
                    stages:
                    - id: abc123
                      name: Example Title
                      type: Query
                      description: A sample description.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/v1/artifacts/import:
    patch:
      operationId: importArtifacts
      summary: Oracle Goldengate Import Ggsa Artifacts
      description: >-
        Imports GGSA artifacts (pipelines, sources, targets, connections, etc.)
        from a previously exported JSON document. Supports CI/CD workflows by
        enabling promotion of pipelines across environments.
      tags:
      - Artifacts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ArtifactImport'
            examples:
              ImportartifactsRequestExample:
                summary: Default importArtifacts request
                x-microcks-default: true
                value:
                  pipeline: example_value
                  connections:
                  - {}
                  references:
                  - {}
      responses:
        '200':
          description: Artifacts imported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ImportResult'
              examples:
                Importartifacts200Example:
                  summary: Default importArtifacts 200 response
                  x-microcks-default: true
                  value:
                    success: true
                    importedArtifacts: 10
                    messages:
                    - example_value
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/v1/authorizations/{role}:
    get:
      operationId: listUsers
      summary: Oracle Goldengate List Users for a Role
      description: Returns a list of all users assigned to a specific role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/roleParam'
      responses:
        '200':
          description: Users listed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserList'
              examples:
                Listusers200Example:
                  summary: Default listUsers 200 response
                  x-microcks-default: true
                  value:
                    users:
                    - name: Example Title
                      role: example_value
                      description: A sample description.
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /services/v1/authorizations/{role}/{user}:
    get:
      operationId: getUser
      summary: Oracle Goldengate Retrieve a User
      description: Returns details of a specific user in the given role.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/roleParam'
      - $ref: '#/components/parameters/userParam'
      responses:
        '200':
          description: User retrieved
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              examples:
                Getuser200Example:
                  summary: Default getUser 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    role: example_value
                    description: A sample description.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createUser
      summary: Oracle Goldengate Create a User
      description: Creates a new user with the specified role for GGSA access.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/roleParam'
      - $ref: '#/components/parameters/userParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserRequest'
            examples:
              CreateuserRequestExample:
                summary: Default createUser request
                x-microcks-default: true
                value:
                  password: example_value
                  description: A sample description.
      responses:
        '201':
          description: User created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              examples:
                Createuser201Example:
                  summary: Default createUser 201 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    role: example_value
                    description: A sample description.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    patch:
      operationId: updateUser
      summary: Oracle Goldengate Update a User
      description: Updates user properties or role assignment.
      tags:
      - Users
      parameters:
      - $ref: '#/components/parameters/roleParam'
      - $ref: '#/components/parameters/userParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateUserRequest'
            examples:
              UpdateuserRequestExample:
                summary: Default updateUser request
                x-microcks-default: true
                value:
                  password: example_value
                  description: A sample description.
      responses:
        '200':
          description: User updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
              examples:
                Updateuser200Example:
                  summary: Default updateUser 200 response
                  x-microcks-default: true
                  value:
                    name: Example Title
                    role: example_value
                    description: A sample description.
        '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 GGSA credentials
  parameters:
    pipelineIdParam:
      name: id
      in: path
      required: true
      description: Pipeline identifier
      schema:
        type: string
    roleParam:
      name: role
      in: path
      required: true
      description: Authorization role
      schema:
        type: string
        enum:
        - Admin
        - Operator
        - Viewer
    userParam:
      name: user
      in: path
      required: true
      description: Username
      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'
  schemas:
    ErrorResponse:
      type: object
      properties:
        code:
          type: integer
          example: 10
        message:
          type: string
          example: example_value
    PipelineList:
      type: object
      properties:
        pipelines:
          type: array
          items:
            $ref: '#/components/schemas/Pipeline'
          example: []
    Pipeline:
      type: object
      properties:
        id:
          type: string
          description: Pipeline unique identifier
          example: abc123
        name:
          type: string
          description: Pipeline display name
          example: Example Title
        description:
          type: string
          example: A sample description.
        status:
          type: string
          description: Current pipeline status
          enum:
          - Draft
          - Published
          - Running
          - Stopped
          - Error
          example: Draft
        createdBy:
          type: string
          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'
        sources:
          type: array
          items:
            $ref: '#/components/schemas/PipelineSource'
          example: []
        targets:
          type: array
          items:
            $ref: '#/components/schemas/PipelineTarget'
          example: []
        stages:
          type: array
          items:
            $ref: '#/components/schemas/PipelineStage'
          example: []
    PipelineSource:
      type: object
      properties:
        id:
          type: string
          example: abc123
        name:
          type: string
          example: Example Title
        type:
          type: string
          description: Source type
          enum:
          - Kafka
          - GoldenGate
          - JMS
          - REST
          - CSV
          - Database
          example: Kafka
        connectionName:
          type: string
          example: example_value
    PipelineTarget:
      type: object
      properties:
        id:
          type: string
          example: abc123
        name:
          type: string
          example: Example Title
        type:
          type: string
          description: Target type
          enum:
          - Kafka
          - GoldenGate
          - Database
          - REST
          - Elasticsearch
          - ObjectStorage
          example: Kafka
        connectionName:
          type: string
          example: example_value
    PipelineStage:
      type: object
      properties:
        id:
          type: string
          example: abc123
        name:
          type: string
          example: Example Title
        type:
          type: string
          enum:
          - Query
          - Pattern
          - Rule
          - ScoreModel
          - Custom
          example: Query
        description:
          type: string
          example: A sample description.
    PipelineExport:
      type: object
      description: >-
        Complete pipeline export including all dependencies (sources, targets,
        connections, references, predictive models, geo fences, visualizations,
        and custom jars)
      properties:
        pipeline:
          $ref: '#/components/schemas/Pipeline'
        connections:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              type:
                type: string
              configuration:
                type: object
                additionalProperties: true
          example: []
        references:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              type:
                type: string
          example: []
        customJars:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              path:
                type: string
          example: []
    PublishPipelineRequest:
      type: object
      properties:
        sparkConfig:
          type: object
          description: Optional Spark configuration overrides
          additionalProperties:
            type: string
          example: example_value
    ArtifactImport:
      type: object
      description: JSON document containing exported GGSA artifacts
      properties:
        pipeline:
          type: object
          additionalProperties: true
          example: example_value
        connections:
          type: array
          items:
            type: object
            additionalProperties: true
          example: []
        references:
          type: array
          items:
            type: object
            additionalProperties: true
          example: []
    ImportResult:
      type: object
      properties:
        success:
          type: boolean
          example: true
        importedArtifacts:
          type: integer
          example: 10
        messages:
          type: array
          items:
            type: string
          example: []
    UserList:
      type: object
      properties:
        users:
          type: array
          items:
            $ref: '#/components/schemas/User'
          example: []
    User:
      type: object
      properties:
        name:
          type: string
          example: Example Title
        role:
          type: string
          example: example_value
        description:
          type: string
          example: A sample description.
    CreateUserRequest:
      type: object
      required:
      - password
      properties:
        password:
          type: string
          format: password
          example: example_value
        description:
          type: string
          example: A sample description.
    UpdateUserRequest:
      type: object
      properties:
        password:
          type: string
          format: password
          example: example_value
        description:
          type: string
          example: A sample description.