Oracle Stream API

The stream API from Oracle — 6 operation(s) for stream.

Documentation

📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/access-governance-cp/20220518/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/adm/20220421/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/advisor/20200606/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/ai-data-platform/20240831/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/analytics/20190331/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/announcements/0.0.1/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/api-gateway/20190501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/apm-config/20210201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/apm-control-plane/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/apm-synthetic-monitoring/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/apm-trace-explorer/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/audit/20190901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/autoscaling/20181001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/bastion/20210331/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/batch/20251031/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/bigdata/20190531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/blockchain/20191010/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/budgets/20190111/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/certificates/20210224/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/certificatesmgmt/20210224/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/cloud-guard/20200131/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/clusterplacementgroups/20230801/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/compute-cloud-at-customer/20221208/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/container-instances/20210415/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/container-registry/20180419/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/containerengine/20180222/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/cost-anomaly/20190111/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/dashboard/20210731/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-catalog/20190325/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-flow/20200129/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-integration/20200430/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-safe/20181201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/data-science/20190101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-management/20201101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-migration/20230518/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-multicloud-integrations/20240501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-tools/20201005/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/database-tools-runtime/20230222/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/datacc/20251101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/datalabeling-dp/20211001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/datalabeling/20211001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/delegate-access-control/20230801/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/devops/20210630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/digital-assistant/20190506/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/disaster-recovery/20220125/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/dms/20211101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/dns/20180115/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/document-understanding/20221109/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/edsfu/20220528/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/emaildelivery/20170907/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/emaildeliverysubmission/20220926/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/events/20181201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/filestorage/20171215/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/fleet-management/20250228/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/functions/20181201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/functionsdocgenpbf/1.0/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/fusion-applications/20211201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai-agents-client/20240531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai-agents/20240531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai-inference/20231130/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai-nl2sql/20260325/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generative-ai/20231130/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/generic/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/globally-distributed-database/20250101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/goldengate/20200407/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/healthchecks/20180501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/iaas/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/identity-domains/v1/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/identity-dp/v1/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/identity/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/incidentmanagement/20181231/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/instanceagent/20180530/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/integration/20190131/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/iot/20250531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/itas/v1/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/jms-java-download/20230601/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/jms/20210610/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/jms-utils/20250521/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/kafka/20240901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/key/release/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/language/20221001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/licensemanager/20220430/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/limits-increase/20251101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/limits/20181025/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/loadbalancer/20170115/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/logan-api-spec/20200601/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/logging-dataplane/20200831/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/logging-management/20200531/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/logging-search/20190909/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/lustre/20250228/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/managed-access/20220126/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/management-agent/20200202/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/managementdashboard/20200901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/marketplace/20181001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/mngdmac/20250320/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/monitoring/20180401/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/multicloud-omhub-cp/20180828/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/mysql/20190415/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/NetMonitor/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/network-firewall/20211001/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/network-firewall/20230501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/networkloadbalancer/20200501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/nosql-database/20190828/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/notification/20181201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/objectstorage/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/OCB/20220509/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/occ/20230515/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/occds/20240430/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/occm/20231107/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/ocicache/20220315/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/ocm/20220919/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/opa/20210621/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/opensearch/20180828/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/operations-insights/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/operatoraccesscontrol/20200630/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/oracle-api-access-control/20241130/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/organizations/20230401/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/organizations/20200801/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/osmh/20220901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/postgresql/20220915/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/psasvc/20240301/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/publisher/20241201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/queue/20210201/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/recovery-service/20210216/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/registry/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/resource-analytics/20241031/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/resource-discovery-monitoring-control-api/20210330/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/resource-scheduler/20240430/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/resourcemanager/20180917/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/rover/20201210/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/s3objectstorage/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/scanning/20210215/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/search/20180409/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/secretmgmt/20180608/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/secretretrieval/20190301/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/secure-desktops/20220618/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/security-attribute/20240815/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/self/20260129/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/service-catalog/20210527/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/serviceconnectors/20200909/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/smp/20210914/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/speech/20220101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/stack-monitoring/20210330/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/streaming/20180418/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/threat-intel/20220901/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/usage/20200107/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/usage-proxy/20190111/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/vision/20220125/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/visual-builder/20210601/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/visual-builder-studio/20180828/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/vmware/20200501/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/vmware/20230701/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/waa/20211230/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/waas/20181116/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/waf/20210930/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/wlms/20241101/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/workrequests/20160918/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/zero-trust-packet-routing/20240301/
📖
APIReference
https://docs.oracle.com/en-us/iaas/api/#/en/zero-trust-packet-routing-tools/20240301/

Specifications

OpenAPI Specification

oracle-stream-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Use the Streaming API to produce and consume messages, create streams and stream pools, and manage related items. For more information, see [Streaming](/Content/Streaming/Concepts/streamingoverview.htm).
  title: Streaming Stream API
  version: '20180418'
  x-provenance:
    method: harvested
    first_party: true
    publisher: Oracle
    source: https://docs.oracle.com/en-us/iaas/api/specs/45f06290ec3f949690d1ae9b8f7d2adeeea531cfb0142678cd2e791be8c625d9.yaml
    harvested: '2026-08-04'
    note: Published by Oracle as the contract for the Streaming API OCI service and stored verbatim; API Evangelist added only this provenance block.
  x-evidence:
  - url: https://docs.oracle.com/en-us/iaas/api/specs/index.json
    what: Oracle's own index of every OCI service specification
  - url: https://docs.oracle.com/en-us/iaas/api/specs/45f06290ec3f949690d1ae9b8f7d2adeeea531cfb0142678cd2e791be8c625d9.yaml
    what: the harvested document for Streaming API
servers:
- url: https://streaming.{region}.oci.oraclecloud.com/20180418
tags:
- name: stream
paths:
  /streams/{streamId}/commit:
    post:
      description: 'Provides a mechanism to manually commit offsets, if not using commit-on-get consumer semantics.

        This commits offsets assicated with the provided cursor, extends the timeout on each of the affected partitions, and returns an updated cursor.

        '
      operationId: ConsumerCommit
      parameters:
      - $ref: '#/components/parameters/StreamIdPathParam'
      - $ref: '#/components/parameters/GroupCursorQueryParam'
      - $ref: '#/components/parameters/OpcRequestIdHeaderParam'
      responses:
        200:
          description: Offsets were committeed successfully.
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

                a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cursor'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Commits processed offsets to consumer group state.
      tags:
      - stream
      x-related-resource: '#/definitions/Group'
  /streams/{streamId}/cursors:
    post:
      description: 'Creates a cursor. Cursors are used to consume a stream, starting from a specific point in the partition and going forward from there.

        You can create a cursor based on an offset, a time, the trim horizon, or the most recent message in the stream. As the oldest message

        inside the retention period boundary, using the trim horizon effectively lets you consume all messages in the stream. A cursor based

        on the most recent message allows consumption of only messages that are added to the stream after you create the cursor. Cursors expire

        five minutes after you receive them from the service.

        '
      operationId: CreateCursor
      parameters:
      - $ref: '#/components/parameters/StreamIdPathParam'
      - $ref: '#/components/parameters/OpcRequestIdHeaderParam'
      responses:
        200:
          description: Created
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

                a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cursor'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Creates a cursor for the specified stream. A cursor is used to consume a stream.
      tags:
      - stream
      x-example: "POST /20180418/streams/<var>&lt;streamId&gt;</var>/cursors\nHost: streaming-api.us-phoenix-1.oraclecloud.com\n<var>&lt;authorization and other headers&gt;</var>\n{\n  \"partition\": \"0\",\n  \"type\": \"TRIM_HORIZON\"  # Cursor will point to the oldest message in the partition that is within the retention period window.\n}\nOR\n{\n  \"partition\": \"0\",\n  \"type\": \"LATEST\",  # Cursor will point to the most recent message in the partition that was added after the cursor was created\n}\nOR\n{\n  \"partition\": \"0\",\n  \"type\": \"AT_OFFSET\", # Cursor will point to the offset specified in the offset parameter\n  \"offset\": 342334L\n}\nOR\n{\n  \"partition\": \"0\",\n  \"type\": \"AFTER_OFFSET\", # Cursor will point to the position immediately following the offset specified in the offset parameter\n  \"offset\": 34233434L\n}\nOR\n{\n  \"partition\": \"0\",\n  \"type\": \"AT_TIME\", # Cursor will point to the specific point in time\n  \"time\": \"Fri Feb 21 15:36:49 UTC 2042\"\n}\n"
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCursorDetails'
        description: The information used to create the cursor.
        required: true
  /streams/{streamId}/groupCursors:
    post:
      description: 'Creates a group-cursor.

        '
      operationId: CreateGroupCursor
      parameters:
      - $ref: '#/components/parameters/StreamIdPathParam'
      - $ref: '#/components/parameters/OpcRequestIdHeaderParam'
      responses:
        200:
          description: Created
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

                a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cursor'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Creates a group-cursor for the specified stream. A cursor is used to consume a stream.
      tags:
      - stream
      x-related-resource: '#/definitions/Cursor'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateGroupCursorDetails'
        description: The information used to create the cursor.
        required: true
  /streams/{streamId}/groups/{groupName}:
    get:
      description: 'Returns the current state of a consumer group.

        '
      operationId: GetGroup
      parameters:
      - $ref: '#/components/parameters/StreamIdPathParam'
      - description: The name of the consumer group.
        in: path
        name: groupName
        required: true
        schema:
          type: string
          maxLength: 255
          minLength: 1
      - $ref: '#/components/parameters/OpcRequestIdHeaderParam'
      responses:
        200:
          description: Group State
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

                a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Group'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Returns the current state of a consumer group.
      tags:
      - stream
      x-example: "GET /20180418/<var>&lt;streamId&gt;</var>/groups/<var>&lt;groupName&gt;</var>\nHost: streaming.us-phoenix-1.oraclecloud.com\n<var>&lt;authorization and other headers&gt;</var>\n\nHTTP/1.1 200 OK\nContent-Length: 276\nContent-Type: application/json\nDate: Mon, 09 Jul 2018 21:19:03 GMT\nopc-request-id: /A8E351184AEE4F026738B89AD2058120/B484F7819E9FE5A487EA3091D2E4G5A9\n{\n    \"group\": {\n        \"groupName\": \"group1\",\n        \"reservations\": [\n            {\n                \"committedOffset\": 20,\n                \"partition\": \"0\",\n                \"reservedInstance\": \"51464135-9edd-4857-909c-fbfbf1c2ca8e\",\n                \"timeReservedUntil\": \"2018-07-09T21:17:44.554Z\"\n            }, {\n                \"committedOffset\": 32,\n                \"partition\": \"1\",\n                \"reservedInstance\": \"51464135-9edd-4857-909c-fbfbfabcdefg\",\n                \"timeReservedUntil\": \"2018-07-09T21:17:44.554Z\"\n            }, {\n                \"committedOffset\": 103,\n                \"partition\": \"2\",\n                \"reservedInstance\": \"51464135-9edd-4857-909c-fbfbf1c2ca8e\",\n                \"timeReservedUntil\": \"2018-07-09T21:17:44.554Z\"\n            }\n        ],\n        \"streamId\": \"ocid1.stream.desktop..aaaaaaaaiegcfiu3pprvc3p4uase4pvaazbspmxfq6ztzu72skwlabcdefga\"\n    }\n}\n"
    put:
      description: 'Forcefully changes the current location of a group as a whole; reseting processing location of all consumers to a particular location in the stream.

        '
      operationId: UpdateGroup
      parameters:
      - $ref: '#/components/parameters/StreamIdPathParam'
      - description: The name of the consumer group.
        in: path
        name: groupName
        required: true
        schema:
          type: string
          maxLength: 255
          minLength: 1
      - $ref: '#/components/parameters/OpcRequestIdHeaderParam'
      responses:
        200:
          description: Group details updated.
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

                a particular request, please provide the request ID.

                '
              schema:
                type: string
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Forcefully changes the committed location of a group on a stream.
      tags:
      - stream
      x-related-resource: '#/definitions/Group'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateGroupDetails'
        description: The information used to modify the group.
        required: true
  /streams/{streamId}/heartbeat:
    post:
      description: 'Allows long-running processes to extend the timeout on partitions reserved by a consumer instance.

        '
      operationId: ConsumerHeartbeat
      parameters:
      - $ref: '#/components/parameters/StreamIdPathParam'
      - $ref: '#/components/parameters/GroupCursorQueryParam'
      - $ref: '#/components/parameters/OpcRequestIdHeaderParam'
      responses:
        200:
          description: Success
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

                a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cursor'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Extends the reservation timeout on partitions reserved by the provided cursor.
      tags:
      - stream
      x-related-resource: '#/definitions/Group'
  /streams/{streamId}/messages:
    get:
      description: 'Returns messages from the specified stream using the specified cursor as the starting point for consumption. By default, the number of messages returned is undefined, but the service returns as many as possible.

        To get messages, you must first obtain a cursor using the [CreateCursor](#/en/streaming/20180418/Cursor/CreateCursor) operation.

        In the response, retrieve the value of the ''opc-next-cursor'' header to pass as a parameter to get the next batch of messages in the stream.

        '
      operationId: GetMessages
      parameters:
      - $ref: '#/components/parameters/StreamIdPathParam'
      - description: 'The cursor used to consume the stream.

          '
        in: query
        name: cursor
        required: true
        schema:
          type: string
      - description: 'The maximum number of messages to return. You can specify any value up to 10000. By default, the service returns as many messages as possible.

          Consider your average message size to help avoid exceeding throughput on the stream.

          '
        in: query
        name: limit
        required: false
        x-default-description: By default, the service will return as much as possible within the preset limit for total bytes transferred per call.
        schema:
          type: integer
          maximum: 10000
          minimum: 1
      - $ref: '#/components/parameters/OpcRequestIdHeaderParam'
      responses:
        200:
          description: Success
          headers:
            opc-next-cursor:
              description: The cursor to use to get the next batch of messages.
              schema:
                type: string
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

                a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Message'
                type: array
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Gets messages from a stream.
      tags:
      - stream
      x-example: 'GET /20180418/streams/<var>&lt;streamId&gt;</var>/messages?cursor=<var>&lt;cursor&gt;</var>&limit=100

        Host: streaming.us-phoenix-1.oraclecloud.com

        <var>&lt;authorization and other headers&gt;</var>

        '
    post:
      description: 'Emits messages to a stream. There''s no limit to the number of messages in a request, but the total size of a message or request must be 1 MiB or less.

        The service calculates the partition ID from the message key and stores messages that share a key on the same partition.

        If a message does not contain a key or if the key is null, the service generates a message key for you.

        The partition ID cannot be passed as a parameter.

        '
      operationId: PutMessages
      parameters:
      - $ref: '#/components/parameters/StreamIdPathParam'
      - $ref: '#/components/parameters/OpcRequestIdHeaderParam'
      responses:
        200:
          description: Success
          headers:
            opc-request-id:
              description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

                a particular request, please provide the request ID.

                '
              schema:
                type: string
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PutMessagesResult'
        400:
          $ref: '#/components/responses/400'
        401:
          $ref: '#/components/responses/401'
        404:
          $ref: '#/components/responses/404'
        429:
          $ref: '#/components/responses/429'
        500:
          $ref: '#/components/responses/500'
        default:
          $ref: '#/components/responses/DefaultError'
      summary: Puts messages in a stream.
      tags:
      - stream
      x-example: "POST /20180418/streams/<var>&lt;streamId&gt;</var>/messages\nHost: streaming-api.us-phoenix-1.oraclecloud.com\n<var>&lt;authorization and other headers&gt;</var>\n{\n  \"messages\":\n  {\n    {\n      \"key\": null,\n      \"value\": \"VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu\"\n    },\n    {\n      \"key\": null,\n      \"value\": \"UGFjayBteSBib3ggd2l0aCBmaXZlIGRvemVuIGxpcXVvciBqdWdzLg==\"\n    }\n  }\n}\n"
      x-obmcs-signing-strategy: exclude_body
      x-related-resource: '#/definitions/Message'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PutMessagesDetails'
        description: Array of messages to put into the stream.
        required: true
components:
  schemas:
    PutMessagesResult:
      description: 'The response to a [PutMessages](#/en/streaming/20180418/methods/PutMessages) request. It indicates the number

        of failed messages as well as an array of results for successful and failed messages.

        '
      properties:
        entries:
          description: 'An array of items representing the result of each message.

            The order is guaranteed to be the same as in the `PutMessagesDetails` object.

            If a message was successfully appended to the stream, the entry includes the `offset`, `partition`, and `timestamp`.

            If a message failed to be appended to the stream, the entry includes the `error` and `errorMessage`.

            '
          items:
            $ref: '#/components/schemas/PutMessagesResultEntry'
          minItems: 1
          type: array
        failures:
          description: The number of messages that failed to be added to the stream.
          type: integer
      required:
      - failures
      - entries
      type: object
      x-example: "{\n  \"failures\": 0,\n  \"entries\": {\n    \"partition\": \"3\",\n    \"offset\": 0,\n    \"timestamp\": \"2018-04-20T23:21:12.428Z\"\n  }\n}\n"
    PutMessagesDetails:
      description: Object that represents an array of messages to emit to a stream.
      properties:
        messages:
          description: The array of messages to put into a stream.
          items:
            $ref: '#/components/schemas/PutMessagesDetailsEntry'
          minItems: 1
          type: array
      required:
      - messages
      type: object
      x-example: "{\n  \"messages\":\n  [\n    {\n      \"key\": null,\n      \"value\": \"VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu\"\n    }\n  ]\n}\n"
    CreateCursorDetails:
      description: Object used to create a cursor to consume messages in a stream.
      properties:
        offset:
          description: The offset to consume from if the cursor type is `AT_OFFSET` or `AFTER_OFFSET`.
          example: 42
          format: int64
          type: integer
        partition:
          description: The partition to get messages from.
          minimum: 0
          type: string
        time:
          description: 'The time to consume from if the cursor type is `AT_TIME`, expressed in [RFC 3339](https://tools.ietf.org/rfc/rfc3339) timestamp format.

            '
          format: date-time
          type: string
        type:
          description: 'The type of cursor, which determines the starting point from which the stream will be consumed:


            - `AFTER_OFFSET:` The partition position immediately following the offset you specify. (Offsets are assigned when you successfully append a message to a partition in a stream.)

            - `AT_OFFSET:` The exact partition position indicated by the offset you specify.

            - `AT_TIME:` A specific point in time.

            - `LATEST:` The most recent message in the partition that was added after the cursor was created.

            - `TRIM_HORIZON:` The oldest message in the partition that is within the retention period window.

            '
          enum:
          - AFTER_OFFSET
          - AT_OFFSET
          - AT_TIME
          - LATEST
          - TRIM_HORIZON
          type: string
      required:
      - type
      - partition
      type: object
      x-example: "{\n  \"partition\": \"0\",\n  \"type\": \"TRIM_HORIZON\"\n}\n"
    PutMessagesDetailsEntry:
      description: Object that represents a message to emit to a stream.
      properties:
        key:
          description: 'The key of the message, expressed as a byte array up to 256 bytes in size. Messages with the same key are stored in the same partition.

            '
          format: byte
          maxItems: 256
          type: string
        value:
          description: The message, expressed as a byte array up to 1 MiB in size.
          format: byte
          maxItems: 1048576
          minItems: 1
          type: string
      required:
      - value
      type: object
    UpdateGroupDetails:
      description: 'Request body for operationally managing a group.

        '
      properties:
        time:
          description: The time to consume from if type is AT_TIME.
          format: date-time
          type: string
        type:
          description: The type of the cursor.
          enum:
          - AT_TIME
          - LATEST
          - TRIM_HORIZON
          type: string
      type: object
    Message:
      description: A message in a stream.
      properties:
        key:
          description: The key associated with the message, expressed as a byte array.
          format: byte
          type: string
        offset:
          description: The offset of the message, which uniquely identifies it within the partition.
          example: 42
          format: int64
          type: integer
        partition:
          description: The ID of the partition where the message is stored.
          example: '1'
          type: string
        stream:
          description: The name of the stream that the message belongs to.
          example: ocid1.stream.realm.region.mnopqr789
          type: string
        timestamp:
          description: The timestamp indicating when the server appended the message to the stream.
          format: date-time
          type: string
        value:
          description: The value associated with the message, expressed as a byte array.
          format: byte
          type: string
      required:
      - stream
      - partition
      - key
      - value
      - offset
      - timestamp
      type: object
      x-example: "{\n  \"stream\": \"mynewstream\",\n  \"partition\": \"0\",\n  \"key\": null,\n  \"value\": \"VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wZWQgb3ZlciB0aGUgbGF6eSBkb2cu\",\n  \"offset\": 0,\n  \"timestamp\": \"2018-04-26T01:03:06.051Z\"\n}\n"
    CreateGroupCursorDetails:
      description: Object used to create a group cursor.
      properties:
        commitOnGet:
          default: true
          description: 'When using consumer-groups, the default commit-on-get behaviour can be overriden by setting this value to false.

            If disabled, a consumer must manually commit their cursors.

            '
          type: boolean
        groupName:
          description: Name of the consumer group.
          type: string
        instanceName:
          description: A unique identifier for the instance joining the consumer group. If an instanceName is not provided, a UUID will be generated and used.
          type: string
        time:
          description: The time to consume from if type is AT_TIME.
          format: date-time
          type: string
        timeoutInMs:
          default: 30000
          description: The amount of a consumer instance inactivity time, before partition reservations are released.
          format: int32
          minimum: 5000
          type: integer
        type:
          description: The type of the cursor. This value is only used when the group is created.
          enum:
          - AT_TIME
          - LATEST
          - TRIM_HORIZON
          type: string
      required:
      - groupName
      - type
      type: object
    Cursor:
      description: 'A cursor that indicates the position in the stream from which you want to begin consuming messages and which is required by the [GetMessages](#/en/streaming/20180418/Message/GetMessages) operation.

        '
      properties:
        value:
          description: The cursor to pass to the `GetMessages` operation.
          type: string
      required:
      - value
      type: object
      x-example: "{\n  \"value\": \"examplelIjoiVHJpbUhcvbl6b24iLCJvZmZzZXQiOm51bGwsInRpbWUiOm51bGwsInBhcnRpdGlvbiI6IjAiLCJzdHJlYW1JZCI6Im9jaWQxLnN0cmVhbS5kZXNrdG9wLi5hYWFhYWFhYWN1ZG5udHFjeXN4dHF6NTZuNWVoYWZ3c3JudHp5dHhjNmF3cDM0N3dxa2R0Ymt2d3VpaXEiLCJleHBfaux0aW9uIjoxNTI0Njg0MDE3NzUwfQ==\"\n}\n"
    Error:
      description: The representation of an error.
      properties:
        code:
          description: 'A short error code that defines the error, meant for programmatic parsing. See [API Errors](/Content/API/References/apierrors.htm).

            '
          type: string
        message:
          description: A human-readable error string.
          type: string
      required:
      - code
      - message
      type: object
    PartitionReservation:
      description: 'Represents the state of a single partition reservation.

        '
      properties:
        committedOffset:
          description: The latest offset which has been committed for this partition.
          format: int64
          type: integer
        partition:
          description: The partition for which the reservation applies.
          type: string
        reservedInstance:
          description: The consumer instance which currently has the partition reserved.
          type: string
        timeReservedUntil:
          description: A timestamp when the current reservation expires.
          format: date-time
          type: string
      type: object
    Group:
      description: 'Represents the current state of a consumer group, including partition reservations and committed offsets.

        '
      properties:
        groupName:
          description: The name of the consumer group.
          type: string
        reservations:
          description: An array of the partition reservations of a group.
          items:
            $ref: '#/components/schemas/PartitionReservation'
          type: array
        streamId:
          description: The streamId for which the group exists.
          type: string
      required:
      - streamId
      - groupName
      type: object
    PutMessagesResultEntry:
      description: 'Represents the result of a [PutMessages](#/en/streaming/20180418/methods/PutMessages) request, whether it was successful or not.

        If a message was successfully appended to the stream, the entry includes the `offset`, `partition`, and `timestamp`.

        If the message failed to be appended to the stream, the entry includes the `error` and `errorMessage`.

        '
      properties:
        error:
          description: The error code, in case the message was not successfully appended to the stream.
          type: string
        errorMessage:
          description: A human-readable error message associated with the error code.
          type: string
        offset:
          description: The offset of the message in the partition.
          example: 42
          format: int64
          type: integer
        partition:
          description: The ID of the partition where the message was stored.
          example: '1'
          type: string
        timestamp:
          description: The timestamp indicating when the server appended the message to the stream.
          format: date-time
          type: string
      type: object
  parameters:
    GroupCursorQueryParam:
      description: 'The group-cursor representing the offsets of the group. This cursor is retrieved from the CreateGroupCursor API call.

        '
      in: query
      name: cursor
      required: true
      schema:
        type: string
        maxLength: 1024
        minLength: 1
    OpcRequestIdHeaderParam:
      description: 'The unique Oracle-assigned identifier for the request. If you need to contact Oracle about a

        particular request, please provide the request ID.

        '
      in: header
      name: opc-request-id
      required: false
      schema:
        type: string
    StreamIdPathParam:
      description: 'The OCID of the stream.

        '
      in: path
      name: streamId
      required: true
      schema:
        type: string
        maxLength: 256
        minLength: 1
  responses:
    DefaultError:
      description: An error has occurred
      headers:
        opc-request-id:
          description: 'Unique Oracle-assigned identifier for the request. If you need to contact Oracle about

            a particular request, please provide the request ID.

            '
          schema:
            type: string
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
x-oracle-package: com.oracle.pic.oss.api