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.