curl -X POST " https://api.playground.try.be/shop/offering-sets " \
-H " Authorization: Bearer YOUR_API_KEY " \
-H " Accept: application/json " \
-H " Content-Type: application/json " \
-d ' {
"name": "Massage treatments",
"offerings": [
{
"offering_id": "64a9f3b2c3d8e1f4a5b6c7d8",
"offering_name": "Twilight massage",
"offering_type": "appointment"
}
]
} ' const response = await fetch ( ' https://api.playground.try.be/shop/offering-sets ' , {
method : ' POST ' ,
headers : {
Authorization : ' Bearer YOUR_API_KEY ' ,
' Content-Type ' : ' application/json ' ,
Accept : ' application/json ' ,
},
body : JSON . stringify ( {
" name " : " Massage treatments " ,
" offerings " : [
{
" offering_id " : " 64a9f3b2c3d8e1f4a5b6c7d8 " ,
" offering_name " : " Twilight massage " ,
" offering_type " : " appointment "
}
]
} ) ,
} )
if ( ! response . ok ) {
throw new Error ( ` Trybe API ${ response . status } : ${ await response . text () }` )
}
const data = await response . json () import httpx
response = httpx . post (
" https://api.playground.try.be/shop/offering-sets " ,
headers = {
" Authorization " : " Bearer YOUR_API_KEY " ,
" Accept " : " application/json " ,
" Content-Type " : " application/json " ,
},
json = {
" name " : " Massage treatments " ,
" offerings " : [
{
" offering_id " : " 64a9f3b2c3d8e1f4a5b6c7d8 " ,
" offering_name " : " Twilight massage " ,
" offering_type " : " appointment "
}
]
},
)
response . raise_for_status ()
data = response . json () <? php
$ client = new \ GuzzleHttp \ Client ();
$ response = $ client -> request ( ' POST ' , ' https://api.playground.try.be/shop/offering-sets ' , [
' headers ' => [
' Authorization ' => ' Bearer YOUR_API_KEY ' ,
' Accept ' => ' application/json ' ,
' Content-Type ' => ' application/json ' ,
],
' json ' => [
' name ' => ' Massage treatments ' ,
' offerings ' => [
[
' offering_id ' => ' 64a9f3b2c3d8e1f4a5b6c7d8 ' ,
' offering_name ' => ' Twilight massage ' ,
' offering_type ' => ' appointment '
]
]
],
]);
$ data = json_decode ($ response -> getBody (), true ); package main
import (
" bytes "
" encoding/json "
" net/http "
)
func main () {
payload , _ := json . Marshal ( map [ string ] interface {}{
" name " : " Massage treatments " ,
" offerings " : [] interface {}{
map [ string ] interface {}{
" offering_id " : " 64a9f3b2c3d8e1f4a5b6c7d8 " ,
" offering_name " : " Twilight massage " ,
" offering_type " : " appointment " ,
},
},
})
req , _ := http . NewRequest ( " POST " , " https://api.playground.try.be/shop/offering-sets " , bytes . NewBuffer ( payload ))
req . Header . Set ( " Authorization " , " Bearer YOUR_API_KEY " )
req . Header . Set ( " Accept " , " application/json " )
req . Header . Set ( " Content-Type " , " application/json " )
resp , err := http . DefaultClient . Do ( req )
if err != nil {
panic ( err )
}
defer resp . Body . Close ()
var data map [ string ] interface {}
json . NewDecoder ( resp . Body ). Decode ( & data )
} 201 401 403 404 422
The `OfferingSet` was successfully retrieved.
{
" data " : {
" id " : " 64a9f3b2c3d8e1f4a5b6c7d8 " ,
" name " : " Massage treatments " ,
" offerings " : [
{
" offering_id " : " 64a9f3b2c3d8e1f4a5b6c7d8 " ,
" offering_name " : " Twilight massage " ,
" offering_type " : " appointment "
}
],
" site_id " : " 64a9f3b2c3d8e1f4a5b6c7d8 " ,
" organisation_id " : " 64a9f3b2c3d8e1f4a5b6c7d8 " ,
" created_at " : " 2026-01-15T09:30:00+00:00 " ,
" updated_at " : " 2026-01-15T09:30:00+00:00 "
}
} {
" message " : " Unauthenticated "
} {
" message " : " This action is unauthorized. "
} {
" message " : " The requested resource could not be found "
} {
" errors " : {},
" message " : " The request didn't pass validation "
}