> ## Documentation Index
> Fetch the complete documentation index at: https://www.spacebring.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Retrieve products

> Retrieve products from shop. <h3>OAuth</h3>Required scopes: <code>shop.readonly</code> or <code>shop</code>



## OpenAPI

````yaml /assets/openapi.json get /shop/products/v1
openapi: 3.0.2
info:
  title: Spacebring
  version: 1.0.0
  termsOfService: https://www.spacebring.com/terms
servers:
  - url: https://api.spacebring.com
security: []
paths:
  /shop/products/v1:
    get:
      tags:
        - Shop
      summary: Retrieve products
      description: >-
        Retrieve products from shop. <h3>OAuth</h3>Required scopes:
        <code>shop.readonly</code> or <code>shop</code>
      operationId: getProducts
      parameters:
        - in: query
          name: categoryRef
          required: false
          description: UUID of the shop category.
          schema:
            type: string
            format: uuid
        - in: query
          name: id
          required: false
          description: >-
            Comma-separated product UUIDs, e.g. `uuid1,uuid2`. Up to 25 ids per
            request.
          schema:
            type: string
        - in: query
          name: limit
          required: false
          description: >-
            Maximum number of products per page. Defaults to 25 when omitted or
            invalid; values above 100 are capped at 100.
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - in: query
          name: locationRef
          required: false
          description: UUID of the location.
          schema:
            type: string
            format: uuid
        - in: query
          name: nextPageToken
          required: false
          description: >-
            Pagination token from nextPageToken in a previous response. Keep the
            same filters when fetching the next page.
          schema:
            type: string
        - in: header
          name: spacebring-network-id
          schema:
            type: string
            format: uuid
          required: false
          description: >-
            The id of the network. Required when using bearer token
            authentication
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/getProducts'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
      security:
        - BasicAuth: []
        - OAuth2:
            - shop.readonly
            - shop
components:
  schemas:
    getProducts:
      type: object
      properties:
        nextPageToken:
          description: Pagination token to fetch the next page of results.
          type: string
        products:
          type: array
          items:
            type: object
            properties:
              categoryRef:
                type: string
                format: uuid
                description: ID of the category this product belongs to.
              createDate:
                type: string
                format: date-time
                description: ISO timestamp of when the product was created.
              description:
                type: string
                description: Product description.
              featured:
                type: boolean
                description: Whether this product is featured.
              id:
                type: string
                format: uuid
                description: Unique identifier of the product.
              imageUrl:
                nullable: true
                deprecated: true
                description: 'Cover image URL. Deprecated: use media[0].url instead.'
                type: string
              locale:
                type: string
                description: Detected language locale of the product description.
              locationRef:
                type: string
                format: uuid
                description: ID of the location this product belongs to.
              media:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      description: Storage key of the image.
                      type: string
                    url:
                      description: Public URL of the image.
                      type: string
                  required:
                    - key
                  additionalProperties: false
                description: Media files of the product.
              networkRef:
                type: string
                format: uuid
                description: ID of the network.
              options:
                type: array
                items:
                  type: object
                  properties:
                    available:
                      type: boolean
                      description: Whether this option can be purchased.
                    createDate:
                      type: string
                      format: date-time
                      description: ISO timestamp of when the option was created.
                    customTax:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                          description: Whether custom tax is applied to this option.
                        rate:
                          type: number
                          description: Custom tax rate.
                      required:
                        - enabled
                        - rate
                      additionalProperties: false
                      description: Custom tax settings for this option.
                    description:
                      type: string
                      description: Option description.
                    id:
                      type: string
                      format: uuid
                      description: Unique identifier of the option.
                    price:
                      type: object
                      properties:
                        credits:
                          type: object
                          properties:
                            amount:
                              type: number
                              description: Price in credits.
                            amountDiscounted:
                              deprecated: true
                              description: >-
                                Member-visible credits price (equals list
                                price).
                              type: number
                            enabled:
                              type: boolean
                              description: >-
                                Whether credits payment is enabled for this
                                option.
                          required:
                            - amount
                            - enabled
                          additionalProperties: false
                          description: Credits pricing.
                        money:
                          type: object
                          properties:
                            amount:
                              type: number
                              description: Price in money.
                            amountDiscounted:
                              deprecated: true
                              description: Member-visible money price (equals list price).
                              type: number
                            currencyCode:
                              type: string
                              description: ISO 4217 currency code.
                            enabled:
                              type: boolean
                              description: >-
                                Whether money payment is enabled for this
                                option.
                          required:
                            - amount
                            - currencyCode
                            - enabled
                          additionalProperties: false
                          description: Money pricing.
                      required:
                        - credits
                        - money
                      additionalProperties: false
                      description: Pricing for this option.
                    stock:
                      type: object
                      properties:
                        enabled:
                          type: boolean
                          description: Whether stock tracking is enabled.
                        quantity:
                          type: number
                          description: Available stock quantity.
                      required:
                        - enabled
                        - quantity
                      additionalProperties: false
                      description: Stock settings for this option.
                    title:
                      type: string
                      description: Option title.
                  required:
                    - available
                    - createDate
                    - customTax
                    - description
                    - id
                    - price
                    - stock
                    - title
                  additionalProperties: false
                description: Purchasable options for this product.
              order:
                type: object
                properties:
                  enabled:
                    type: boolean
                    description: Whether the product can be ordered through checkout.
                required:
                  - enabled
                additionalProperties: false
                description: Order settings.
              refundPolicy:
                type: string
                enum:
                  - noRefund
                  - statusNew
                description: >-
                  Refund policy. noRefund: purchases are final. statusNew:
                  refunds allowed while order is in new state.
              title:
                type: string
                description: Product title.
              updateDate:
                description: ISO timestamp of when the product was last updated.
                type: string
                format: date-time
              visibility:
                type: string
                enum:
                  - public
                  - admins
                  - members
                  - networkMembers
                description: Who can see this product.
            required:
              - categoryRef
              - createDate
              - description
              - featured
              - id
              - imageUrl
              - locale
              - locationRef
              - media
              - networkRef
              - options
              - order
              - refundPolicy
              - title
              - visibility
            additionalProperties: false
          description: List of products.
        searchQueryNext:
          description: >-
            Search query parameters for the next page of results. Includes all
            filters used to fetch the current page.
          type: string
      required:
        - products
      additionalProperties: false
    responseError:
      type: object
      properties:
        message:
          type: string
        type:
          type: string
  securitySchemes:
    BasicAuth:
      type: http
      description: >-
        See our [authentication
        documentation](https://www.spacebring.com/docs/api-reference/authentication#basic-authentication)
        for how to authorize your requests
      scheme: basic
    OAuth2:
      type: oauth2
      description: >-
        See our [authentication
        documentation](https://www.spacebring.com/docs/api-reference/authentication#oauth2)
        for how to authorize your requests
      flows:
        authorizationCode:
          authorizationUrl: https://api.spacebring.com/oauth2/authorize
          tokenUrl: https://api.spacebring.com/oauth2/token
          refreshUrl: https://api.spacebring.com/oauth2/token
          scopes:
            benefits.readonly: Read benefits and applications
            benefits: Read and write benefits and applications
            community.readonly: Read community companies and memberships
            community: Read and write community companies and memberships
            events.readonly: Read events and tickets
            events: Read and write events and tickets
            feed.readonly: Read feed posts
            feed: Read and write feed posts
            invoices.readonly: Read contracts, credit notes, discounts and invoices
            invoices: Read and write contract, credit notes, discounts and invoices
            locations.readonly: Read locations
            locations: Read and write locations
            plans.readonly: Read plans
            plans: Read and write plans
            resources.readonly: Read resources and bookings
            resources: Read and write resources and bookings
            subscriptions.readonly: Read subscriptions
            subscriptions: Read and write subscriptions
            shop.readonly: Read products and orders
            shop: Read and write products and orders
            support.readonly: Read support tickets
            support: Read and write support tickets
            transactions.readonly: Read transactions
            transactions: Read and write transactions
            visitors.readonly: Read visitors
            visitors: Read and write visitors

````