> ## 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.

# Get a product

> Get a certain product. <h3>OAuth</h3>Required scopes: <code>shop.readonly</code> or <code>shop</code>



## OpenAPI

````yaml /assets/openapi.json get /shop/products/v1/{productId}
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/{productId}:
    get:
      tags:
        - Shop
      summary: Get a product
      description: >-
        Get a certain product. <h3>OAuth</h3>Required scopes:
        <code>shop.readonly</code> or <code>shop</code>
      operationId: getProduct
      parameters:
        - in: path
          name: productId
          required: true
          description: The id of the product.
          schema:
            type: string
            format: uuid
        - 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/getProduct'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/responseError'
      security:
        - BasicAuth: []
        - OAuth2:
            - shop.readonly
            - shop
components:
  schemas:
    getProduct:
      type: object
      properties:
        product:
          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: The product.
      required:
        - product
      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

````