Productsup
Stream API

Stream management

Create, list, update, and remove streams via the Stream API.

5 min read

The stream management endpoints bring independence and flexibility to our customers. They let customers integrate stream management into their workflow.

Create stream

Create a stream if you have access to only one organization:

Request
curl --location --request POST 'https://stream-api.productsup.com/streams' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Accept: application/vnd.api+json' \
--data-raw '{
  "data": {
    "type": "stream",
    "attributes": {
      "name": "My product stream",
      "type": "chunked"
    }
  }
}'

Create a stream if you have access to multiple organizations:

Request
curl --location --request POST 'https://stream-api.productsup.com/streams' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Accept: application/vnd.api+json' \
--data-raw '{
  "data": {
    "type": "stream",
    "attributes": {
      "name": "My product stream",
      "type": "chunked"
    }
  },
  "relationships": {
    "account": {
      "data": {
        "type": "account",
        "id": ID_OF_ORGANIZATION_WHERE_STREAM_SHOULD_BE_CREATED
      }
    }
  }
}'

When you create a stream, you have two required attributes and one optional:

  • name (required) is the arbitrary value you can use to identify your stream. This attribute is also visible in the UI when you select a stream in Data Sources.
  • type (required) is a stream type, such as chunked or referenced. See stream types: chunked and referenced.
  • relationships (optional) is an attribute that lets you determine which organization you want to create a stream for. Apply this attribute only if you have access to multiple organizations. By default, the platform creates the stream in your first or only existing organization. The relationships attribute still uses the term account rather than organization. Both refer to the same entity.

List stream

List all streams:

Request
curl --location --request GET 'https://stream-api.productsup.com/streams' \
--header 'Accept: application/vnd.api+json'

List streams next page:

Request
curl --location --request GET 'https://stream-api.productsup.com/streams?page[offset]=10&page[limit]=10' \
--header 'Accept: application/vnd.api+json'

List a specific stream:

Request
curl --location --request GET 'https://stream-api.productsup.com/streams/124773' \
--header 'Accept: application/vnd.api+json'

You can either list all streams the user has access to or a specific, individual stream.

The list of all streams is paginated to a maximum of 10 streams per page. To traverse the paginated list you can use the pagination links which can be found in the top-level links object of the response.

We support the following query parameters for traversing:

  • page[offset] - The offset determines the start record.
  • page[limit] - The limit determines the number of records to display.
    • We maintain from 1 to 10 streams per page.

Update stream

Update a specific stream:

Request
curl --location --request PATCH 'https://stream-api.productsup.com/streams/124773' \
--header 'Content-Type: application/vnd.api+json' \
--header 'Accept: application/vnd.api+json' \
--data-raw '{
  "data": {
    "id": "124773",
    "type": "stream",
    "attributes": {
      "name": "My product Stream with an updated name"
    }
  }
}'

We only allow updating the name of a stream.

Due to technical limitations, it's impossible to change the stream type. If you need to change the type, we recommend you create a new stream with the correct type and remove the old stream.

If you have access to multiple accounts, you can't move the existing stream to another account. If you need to move the stream to another account, we recommend you create a new stream in the new account.

Remove stream

Remove a stream:

Request
curl --location --request DELETE 'https://stream-api.productsup.com/streams/124773'

Remove a stream when you no longer need it, or when you need to switch a stream to a different type. After switching types, push your full catalog to the new stream.

Deleting a stream deletes every product in it. The data is unrecoverable.

On this page

Still stuck?

Reach out to our support team and we’ll help you get unstuck.

Contact support