Get product by slug
curl --request GET \
--url https://app.orgo.space/api/v1/product_by_slugimport requests
url = "https://app.orgo.space/api/v1/product_by_slug"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.orgo.space/api/v1/product_by_slug', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.orgo.space/api/v1/product_by_slug",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.orgo.space/api/v1/product_by_slug"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.orgo.space/api/v1/product_by_slug")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/product_by_slug")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"id": 42,
"name": "Boston Chapter",
"nameEn": "Boston Chapter",
"productStripeId": "string",
"localCenter": {
"stripeAccount": "acct_1MhsK3LZvKYlo2C0",
"localCenterStripeAccount": "acct_1MhsK3LZvKYlo2C0",
"currency": "USD",
"alias": "string",
"isParent": true,
"localCenterCurrency": "USD",
"id": 42,
"name": "Boston Chapter",
"parent": "/api/v1/units/1"
},
"tenant": {
"stripeAccount": "acct_1MhsK3LZvKYlo2C0"
},
"organisation": {
"stripeAccount": "acct_1MhsK3LZvKYlo2C0"
},
"isExternal": true,
"isInternal": true,
"productPrices": [
{
"id": 42,
"priceStripeId": "string",
"currency": "USD",
"price": 50,
"name": "Boston Chapter",
"isArchived": false,
"isSubscription": true,
"isRestricted": "string",
"allowedFeeProductPrices": [
"/api/v1/product_prices/1"
],
"isDefault": true,
"fullDescription": "Quarterly chapter meeting open to all members.",
"displayNameOnPaymentPage": true,
"overwriteMonthPeriod": 1,
"isLifetime": true,
"isHidden": true,
"productPriceVariationValues": [
"/api/v1/product_price_variation_values/1"
],
"isBundle": true,
"isBundleMember": true,
"validFrom": "2026-01-15T10:30:00+00:00",
"validTo": "2026-01-15T10:30:00+00:00",
"ageUnder": 34,
"ageOver": 34,
"previousVersion": "/api/v1/product_prices/1",
"companySlots": 42,
"isCompanyPrice": true,
"maxSeats": 42,
"soldCount": 12,
"sortOrder": 42,
"groupName": "Boston Chapter",
"addons": [
"/api/v1/product_price_addons/1"
],
"monthPeriod": 1,
"availableSeats": 42,
"activeAddons": "/api/v1/collections/1"
}
],
"hasCustomPriceValue": true,
"monthPeriod": 1,
"customMinPrice": 5000,
"isArchived": false,
"hasSubscription": true,
"hasOneTimePayment": true,
"goalValue": 42,
"cycleDay": 15,
"cycleMonth": 1,
"cycleHasProratio": true,
"maxDate": "2026-01-15T10:30:00+00:00",
"createdAt": "2026-01-15T10:30:00+00:00",
"proratioMinMonthsEnabler": 1,
"description": "Quarterly chapter meeting open to all members.",
"descriptionEn": "Quarterly chapter meeting open to all members.",
"logo": "https://cdn.orgo.space/tenants/acme/logo.png",
"isFee": true,
"isDonation": true,
"settings": [
"string"
],
"descriptionInternal": "Quarterly chapter meeting open to all members.",
"cycleRecurrences": 42,
"hasConfidentialityEnabled": true,
"customMaxPrice": 5000,
"event": {
"id": 42,
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"name": "Boston Chapter",
"location": "Boston Common, Boston, MA",
"description": "Quarterly chapter meeting open to all members.",
"logo": "https://cdn.orgo.space/tenants/acme/logo.png",
"meetExists": true,
"type": "/api/v1/event_types/1",
"dateCreated": "2026-01-15T10:30:00+00:00",
"eventMedia": [
"/api/v1/event_medias/1"
],
"logoFromAlbum": "https://cdn.orgo.space/tenants/acme/logo.png",
"dateTimeBegin": "2026-01-15T10:30:00+00:00",
"dateTimeEnd": "2026-01-15T10:30:00+00:00",
"meet": "https://meet.google.com/abc-defg-hij",
"settings": [
"string"
],
"sdg": [
"string"
],
"isPublic": true,
"hasEventTicketing": true,
"isPast": true
},
"startingDate": "2026-01-15T10:30:00+00:00",
"productOptions": [
{
"id": 42,
"name": "Boston Chapter",
"isArchived": false,
"position": 42
}
],
"type": "MEMBER",
"goalValueSubscription": 42,
"hasLocalCenterOption": true,
"abTestingEnabled": true,
"slug": "annual-general-meeting-2026",
"slugGo": "agm26",
"slugEnGo": "string",
"displayOnProfile": true,
"productPriceVariations": [
{
"id": 42,
"enabled": true,
"defaultPrice": 5000,
"currency": "USD"
}
],
"metaGraphImage": "https://cdn.orgo.space/events/12/cover.jpg",
"heroVideoUrl": "https://civic-collective.example.com",
"thankYouMessage": "Looking forward to seeing you at the meeting.",
"descriptionDe": "Quarterly chapter meeting open to all members."
}
]Product
Get product by slug
Looks up a product by its slug and tenant slug. Requires query parameters: slug (product slug) and tenant (tenant slug). Returns the product with product_read serialization group. Used for public-facing product pages.
GET
/
api
/
v1
/
product_by_slug
Get product by slug
curl --request GET \
--url https://app.orgo.space/api/v1/product_by_slugimport requests
url = "https://app.orgo.space/api/v1/product_by_slug"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://app.orgo.space/api/v1/product_by_slug', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.orgo.space/api/v1/product_by_slug",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.orgo.space/api/v1/product_by_slug"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.orgo.space/api/v1/product_by_slug")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/product_by_slug")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body[
{
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"id": 42,
"name": "Boston Chapter",
"nameEn": "Boston Chapter",
"productStripeId": "string",
"localCenter": {
"stripeAccount": "acct_1MhsK3LZvKYlo2C0",
"localCenterStripeAccount": "acct_1MhsK3LZvKYlo2C0",
"currency": "USD",
"alias": "string",
"isParent": true,
"localCenterCurrency": "USD",
"id": 42,
"name": "Boston Chapter",
"parent": "/api/v1/units/1"
},
"tenant": {
"stripeAccount": "acct_1MhsK3LZvKYlo2C0"
},
"organisation": {
"stripeAccount": "acct_1MhsK3LZvKYlo2C0"
},
"isExternal": true,
"isInternal": true,
"productPrices": [
{
"id": 42,
"priceStripeId": "string",
"currency": "USD",
"price": 50,
"name": "Boston Chapter",
"isArchived": false,
"isSubscription": true,
"isRestricted": "string",
"allowedFeeProductPrices": [
"/api/v1/product_prices/1"
],
"isDefault": true,
"fullDescription": "Quarterly chapter meeting open to all members.",
"displayNameOnPaymentPage": true,
"overwriteMonthPeriod": 1,
"isLifetime": true,
"isHidden": true,
"productPriceVariationValues": [
"/api/v1/product_price_variation_values/1"
],
"isBundle": true,
"isBundleMember": true,
"validFrom": "2026-01-15T10:30:00+00:00",
"validTo": "2026-01-15T10:30:00+00:00",
"ageUnder": 34,
"ageOver": 34,
"previousVersion": "/api/v1/product_prices/1",
"companySlots": 42,
"isCompanyPrice": true,
"maxSeats": 42,
"soldCount": 12,
"sortOrder": 42,
"groupName": "Boston Chapter",
"addons": [
"/api/v1/product_price_addons/1"
],
"monthPeriod": 1,
"availableSeats": 42,
"activeAddons": "/api/v1/collections/1"
}
],
"hasCustomPriceValue": true,
"monthPeriod": 1,
"customMinPrice": 5000,
"isArchived": false,
"hasSubscription": true,
"hasOneTimePayment": true,
"goalValue": 42,
"cycleDay": 15,
"cycleMonth": 1,
"cycleHasProratio": true,
"maxDate": "2026-01-15T10:30:00+00:00",
"createdAt": "2026-01-15T10:30:00+00:00",
"proratioMinMonthsEnabler": 1,
"description": "Quarterly chapter meeting open to all members.",
"descriptionEn": "Quarterly chapter meeting open to all members.",
"logo": "https://cdn.orgo.space/tenants/acme/logo.png",
"isFee": true,
"isDonation": true,
"settings": [
"string"
],
"descriptionInternal": "Quarterly chapter meeting open to all members.",
"cycleRecurrences": 42,
"hasConfidentialityEnabled": true,
"customMaxPrice": 5000,
"event": {
"id": 42,
"uuid": "01938d8e-9c4f-7c2a-b8e1-3f7a9b8c4f12",
"name": "Boston Chapter",
"location": "Boston Common, Boston, MA",
"description": "Quarterly chapter meeting open to all members.",
"logo": "https://cdn.orgo.space/tenants/acme/logo.png",
"meetExists": true,
"type": "/api/v1/event_types/1",
"dateCreated": "2026-01-15T10:30:00+00:00",
"eventMedia": [
"/api/v1/event_medias/1"
],
"logoFromAlbum": "https://cdn.orgo.space/tenants/acme/logo.png",
"dateTimeBegin": "2026-01-15T10:30:00+00:00",
"dateTimeEnd": "2026-01-15T10:30:00+00:00",
"meet": "https://meet.google.com/abc-defg-hij",
"settings": [
"string"
],
"sdg": [
"string"
],
"isPublic": true,
"hasEventTicketing": true,
"isPast": true
},
"startingDate": "2026-01-15T10:30:00+00:00",
"productOptions": [
{
"id": 42,
"name": "Boston Chapter",
"isArchived": false,
"position": 42
}
],
"type": "MEMBER",
"goalValueSubscription": 42,
"hasLocalCenterOption": true,
"abTestingEnabled": true,
"slug": "annual-general-meeting-2026",
"slugGo": "agm26",
"slugEnGo": "string",
"displayOnProfile": true,
"productPriceVariations": [
{
"id": 42,
"enabled": true,
"defaultPrice": 5000,
"currency": "USD"
}
],
"metaGraphImage": "https://cdn.orgo.space/events/12/cover.jpg",
"heroVideoUrl": "https://civic-collective.example.com",
"thankYouMessage": "Looking forward to seeing you at the meeting.",
"descriptionDe": "Quarterly chapter meeting open to all members."
}
]Query Parameters
The collection page number
The number of items per page
Required range:
0 <= x <= 100Enable or disable pagination
Available options:
asc, desc Response
200 - application/json
Product collection
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes

