Cobot Product API

Products can be set up by a space and then used as booking extras or to create charges from. Examples are coffee, projectors, additional cleaning services etc.

Operations 2

GET /products/{id} Single product #
GET /spaces/{spaceId}/products List for space #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cobot-product-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cobot-product-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Cobot Product API
  termsOfService: https://www.cobot.me/terms
  x-logo:
    url: /api2_logo.webp
    backgroundColor: '#FFFFFF'
    altText: Cobot logo
  description: This is the 2.0 version of the Cobot API.
  version: '2.0'
  contact:
    name: Cobot Support
    url: https://dev.cobot.me/
    email: support@cobot.me
servers:
- url: https://api.cobot.me
security:
- OAuth2: []
tags:
- name: Product
  description: 'Products can be set up by a space and then used as booking extras or to create charges from.

    Examples are coffee, projectors, additional cleaning services etc.'
paths:
  /products/{id}:
    get:
      summary: Single product
      description: 'A single product.


        **Access**: Any user can view products.'
      operationId: get-product
      parameters:
      - name: id
        in: path
        required: true
        description: The id of the product.
        schema:
          type: string
      security:
      - OAuth2:
        - read_products
      tags:
      - Product
      responses:
        '200':
          description: The product.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/product'
              examples:
                default:
                  value:
                    data:
                      id: 55c12f62ac8df98d29de357180d673e1
                      type: products
                      attributes:
                        name: Cup of coffee
                        description: Hot
                        accountingCode: COFF
                        costCenter:
                          name: Food
                          number: '100'
                        revenueAccount:
                          name: Revenue Food
                          number: '4000'
                        enabledForScopes:
                        - bookings
                        - externalBookings
                        pricing:
                          unit: person
                          quantity: '1.0'
                          price:
                            net: '5.0'
                            gross: '6.0'
                            currency: EUR
                            taxes:
                            - name: Tax
                              rate: '20.0'
                              amount: '1.0'
                      relationships:
                        space:
                          data:
                            id: 6f43c08b-4392-59d2-b6b5-03c4777f67b5
                            type: spaces
  /spaces/{spaceId}/products:
    get:
      summary: List for space
      description: 'List the products for a space. The products are returned in the order set up

        by admins, so should not be sorted again by the client.


        **Access**: Any user can view products.'
      operationId: get-products
      parameters:
      - name: spaceId
        in: path
        required: true
        description: The id of the space to get the products for.
        schema:
          type: string
      - name: filter[scope]
        in: query
        required: false
        description: 'Only return products enabled for the given scopes.

          Returns products matching any of the provided scopes.

          Returns all products if no scope is provided.

          '
        schema:
          type: array
          items:
            type: string
            enum:
            - externalBookings
            - bookings
      - name: include
        in: query
        required: false
        description: "Include product categories. The categories are returned in the order set up \nby admins, so should not be sorted again by the client.\n"
        schema:
          type: string
          enum:
          - category
      security:
      - OAuth2:
        - read_products
      tags:
      - Product
      responses:
        '200':
          description: The products of a space.
          content:
            application/vnd.api+json:
              schema:
                $ref: '#/components/schemas/products-3'
              examples:
                default:
                  value:
                    data:
                    - id: 55c12f62ac8df98d29de357180d673e1
                      type: products
                      attributes:
                        name: Cup of coffee
                        description: Hot
                        accountingCode: COFF
                        costCenter:
                          name: Food
                          number: '100'
                        revenueAccount:
                          name: Revenue Food
                          number: '4000'
                        enabledForScopes:
                        - bookings
                        - externalBookings
                        pricing:
                          unit: person
                          quantity: '1.0'
                          price:
                            net: '5.0'
                            gross: '6.0'
                            currency: EUR
                            taxes:
                            - name: Tax
                              rate: '20.0'
                              amount: '1.0'
                      relationships:
                        space:
                          data:
                            id: 6f43c08b-4392-59d2-b6b5-03c4777f67b5
                            type: spaces
components:
  schemas:
    -product-data:
      id: -product-data.json
      type: object
      required:
      - id
      - type
      additionalProperties: false
      properties:
        id:
          type: string
        type:
          type: string
          enum:
          - products
        attributes:
          type: object
          required:
          - name
          - pricing
          - enabledForScopes
          - accountingCode
          - costCenter
          - revenueAccount
          additionalProperties: false
          properties:
            name:
              type: string
            description:
              type:
              - 'null'
              - string
            accountingCode:
              type:
              - 'null'
              - string
            costCenter:
              oneOf:
              - type: 'null'
              - $ref: '#/components/schemas/cost-center'
            revenueAccount:
              oneOf:
              - type: 'null'
              - $ref: '#/components/schemas/revenue-account'
            enabledForScopes:
              description: Where the product can be sold.
              type: array
              items:
                type: string
                enum:
                - bookings
                - externalBookings
            pricing:
              description: The price of the product per quantity and unit.
              type: object
              properties:
                unit:
                  description: Pricing unit in the context of a booking.
                  type: string
                  enum:
                  - fixed
                  - minute
                  - person
                  - item
                quantity:
                  $ref: '#/components/schemas/decimal'
                price:
                  $ref: '#/components/schemas/price'
              additionalProperties: false
        relationships:
          type: object
          additionalProperties: false
          required:
          - space
          properties:
            space:
              $ref: '#/components/schemas/relationship-linkage'
            category:
              $ref: '#/components/schemas/optional-relationship-linkage'
    decimal:
      description: A decimal number.
      type: string
      pattern: ^-?\d+(\.\d+)?$
    linkage:
      description: The "type" and "id" of a linked entity.
      type: object
      required:
      - type
      - id
      properties:
        type:
          type: string
        id:
          type: string
      additionalProperties: false
    currency:
      description: ISO 4217 3 letter currency code.
      type: string
      pattern: ^[A-Z]{3}$
    cost-center:
      type: object
      additionalProperties: false
      required:
      - name
      - number
      properties:
        name:
          type: string
        number:
          type: string
    relationship-linkage:
      type: object
      required:
      - data
      additionalProperties: false
      properties:
        data:
          $ref: '#/components/schemas/linkage'
    product:
      id: product.json#
      type: object
      required:
      - data
      additionalProperties: false
      properties:
        data:
          $ref: '#/components/schemas/-product-data'
    pagination-meta:
      type: object
      additionalProperties: false
      properties:
        totalPages:
          type: number
        currentPage:
          type: number
    revenue-account:
      type: object
      additionalProperties: false
      required:
      - name
      - number
      properties:
        name:
          type: string
        number:
          type: string
    pagination-links:
      type: object
      required:
      - first
      - self
      - next
      additionalProperties: false
      properties:
        first:
          type: string
          description: Link to the first results page.
        prev:
          oneOf:
          - type: string
          - type: 'null'
          description: Link to the previous results page. Null when on the first page.
        self:
          type: string
          description: Link to the current results page.
        next:
          oneOf:
          - type: string
          - type: 'null'
          description: Link to the next results page. Null when on the last page.
        last:
          type: string
          description: Link to the last results page.
    price:
      description: Price including net/gross value and all taxes.
      type: object
      required:
      - net
      - gross
      - currency
      - taxes
      additionalProperties: false
      properties:
        net:
          $ref: '#/components/schemas/decimal'
        gross:
          $ref: '#/components/schemas/decimal'
        currency:
          $ref: '#/components/schemas/currency'
        taxes:
          type: array
          items:
            $ref: '#/components/schemas/tax'
    products-3:
      id: products.json#
      type: object
      required:
      - data
      additionalProperties: false
      properties:
        meta:
          $ref: '#/components/schemas/pagination-meta'
        data:
          type: array
          items:
            $ref: '#/components/schemas/-product-data'
        links:
          $ref: '#/components/schemas/pagination-links'
        included:
          type: array
          items:
            type: object
    tax:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
        rate:
          $ref: '#/components/schemas/decimal'
        amount:
          $ref: '#/components/schemas/decimal'
    optional-relationship-linkage:
      type: object
      required:
      - data
      additionalProperties: false
      properties:
        data:
          oneOf:
          - $ref: '#/components/schemas/linkage'
          - type: 'null'
  securitySchemes:
    OpenId:
      type: openIdConnect
      openIdConnectUrl: https://www.cobot.me/.well-known/openid-configuration
    OAuth2:
      type: oauth2
      description: "OAuth is \"an open protocol to allow secure API authorization in a simple and\nstandard method from desktop and web applications.\". \"OAuth 2.0 is the\nnext evolution of the OAuth protocol [..]. OAuth 2.0 focuses on client\ndeveloper simplicity [...]. It is supported by many popular sites such as\nFacebook and there are client libraries available for many programming\nlanguages.\n\nFor information about OAuth2 see the [oauth website](http://oauth.net/2/).\n\n**For OAuth2 you need a client id and secret. In order to get those you have\nto [register your application](/oauth2_clients).**\n\nAPI authorization works by passing a bearer token via the HTTP Authorization header:\n\n    Authorization: bearer <token>\n\n## Permissions (Scope)\n\nOAuth2 [defines scopes](https://tools.ietf.org/html/rfc6749#section-3.3) to\nrestrict access to certain resources.\n\nThe required scope for each resource can be found within the documentation\nfor each endpoint.\n\nPlease note that a user's scope can be limited when they access the API as\nan admin of a space and some of their admin permissions have been revoked.\n"
      flows:
        authorizationCode:
          authorizationUrl: https://www.cobot.me/oauth/authorize
          tokenUrl: https://www.cobot.me/oauth/access_token
          scopes:
            read_articles: Read help desk articles.
            read_allocations: Read resource allocation data.
            read_booking_credits: Read information about a membership's booking credits.
            read_bookings: Read booking data.
            read_built_in_email_customizations: Read built in email customizations.
            read_calendar_blockers: Read calendar blockers.
            read_check_ins: Read memberships' check-in data.
            read_contacts: Read contacts.
            read_drop_in_passes: Read drop-in passes.
            read_drop_in_pass_templates: Read drop-in pass templates.
            read_discount_codes: Read discount codes.
            read_event_attendances: Read who is attending an event.
            read_event_messages: Read messages sent about events.
            read_events: Read events of a space.
            read_external_bookings: Read external booking data.
            read_external_resources: Read resources enabled for external booking.
            read_invoices: Read invoices created for a membership in a space.
            read_memberships: Read information about memberships in a space.
            read_teams: Read information about teams in a space.
            read_membership_profiles: Read members' profile data.
            read_navigation_links: Read/list navigation links for a space.
            read_payment_methods: Read payment methods in order to process payments.
            read_published_membership_profiles: Read published members' profile data.
            read_networks: Read information about a network.
            read_products: Read information about products.
            read_resource_categories: Read information about booking calendar categories.
            read_resources: Read information about booking calendar resources.
            read_single_page_apps: Read information about single page apps.
            read_space_profiles: Read space profile information.
            read_spaces: Read basic space information.
            read_space_billing_details: Read information relevant to billing the space.
            read_space_payment_method: Read a space's payment method used to pay for the space's Cobot subscription.
            read_space_subscriptions: Read a space's subscription.
            read_terms_approvals: Shows missing approvals for the current member.
            read_urls: Read the URLs to the Cobot web interface.
            read_user: Read the current user's information.
            write_bookings: Write booking data.
            write_check_ins: Check a member in at a space.
            write_customers: Convert a space to a customer.
            write_drop_in_pass_purchases: Create drop-in pass purchases.
            write_drop_in_passes: Cancel drop-in passes.
            write_event_ticket_purchases: Create event ticket purchases.
            write_event_attendances: Attend/unattend events.
            write_event_messages: Create/update messages sent about events.
            write_events: Write to events of a space.
            write_external_bookings: Create/update bookings as a non-member.
            write_external_resources: Create/update/delete resources enabled for non-memberss
            write_resources: Create/update/delete booking calendar resources.
            write_invoices: Create invoices for members in a space.
            write_invoice_reminders: Send invoice reminder emails.
            write_membership_profiles: Manage the social profiles of members.
            write_navigation_links: Create/update/delete navigation links for a space.
            write_payments: Initiate payments for external bookings.
            write_single_page_apps: Create and update single page apps to be embedded on Cobot.
            write_space_billing_details: Update a space's billing details.
            write_space_payment_method: Update a space's payment method used to pay for the space's Cobot subscription.
            write_space_subscriptions: Change a space's subscription. Only trusted clients can request this scope. Contact support.
            write_terms_approvals: Approve different kinds of terms as a member.