Skip to content

Instantly share code, notes, and snippets.

@mshick
Created April 19, 2022 21:12
Show Gist options
  • Select an option

  • Save mshick/e17b203d09fb853c7195ad6ef8749f14 to your computer and use it in GitHub Desktop.

Select an option

Save mshick/e17b203d09fb853c7195ad6ef8749f14 to your computer and use it in GitHub Desktop.
pr3519
{
"apiVersion": "2",
"projectId": "468e2909-8393-4958-b7e0-8ca4df77921c",
"dataKey": "AQIDAHhcZWXOdlBglkxBhI23ElO/clC/kuw5ynjXDSqJgfTz8gHaiEcoxhZhcnJSk0i3kELqAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglghkgBZQMEAS4wEQQMhzhG7DaG1rE7Htm2AgEQgDueWHyfxu7sJxkezzs3hXDZlOpgMJ74ppKaF1uGv+qijcKs/4l7dpi3eW48WFPHZNeiFZgzWYPXimJXlA==",
"version": 63,
"created": "2022-03-22T19:33:49.580Z",
"updated": "2022-04-19T21:02:54.137Z",
"defaultLocale": "en-us",
"locales": [
"en-us"
],
"workflows": {},
"forms": {
"Profile": {
"default": {
"properties": {
"id": {
"widget": "singleLineText"
},
"name": {
"widget": "singleLineText"
},
"email": {
"widget": "singleLineText"
},
"bio": {
"widget": "paragraphText"
},
"avatar": {
"widget": "image"
},
"stripeCustomerId": {
"widget": "singleLineText"
}
},
"order": [
"id",
"name",
"email",
"bio",
"avatar",
"stripeCustomerId"
]
}
},
"Asdf": {
"default": {
"properties": {
"singleLine": {
"widget": "singleLineText"
}
},
"order": [
"singleLine"
]
}
},
"Gggggg": {
"default": {
"properties": {
"singleLineCanvas": {
"widget": "wysiwygSingleLineText"
}
},
"order": [
"singleLineCanvas"
]
}
}
},
"services": {
"auth-0": {
"id": "auth-0",
"provider": "auth0",
"title": "auth0",
"serviceType": "authentication",
"authenticationType": "none",
"options": {
"domain": "dev-by9w1mxg.us.auth0.com",
"audience": "https://api.takeshape.io/project/79b5254d-5bc3-4034-8b05-e9c2f097de5a/auth-0"
}
},
"stripe": {
"id": "stripe",
"provider": "stripe",
"title": "Stripe",
"namespace": "Stripe",
"serviceType": "openapi",
"authenticationType": "bearer",
"options": {
"endpoint": "https://api.stripe.com/",
"spec": "https://raw.githubusercontent.com/stripe/openapi/master/openapi/spec3.json",
"useRestfulNames": true,
"webhookSecret": "whsec_kuuLBXtDCS4r3h4wJplqrDcmy5SWZO0A"
},
"authentication": "vlLI3xWJDHq1Wuug0i+SCCkT59L7YQvPnnKkDdRTi8HEmWa7af6JOsgphiopqBHJz8KBrajyGSxJRazEiHNBKR3nERkklIhPX9J1waVaxmhzb2yi0qx5vcgtXxv2xpXGrt77jpePWSN2Gh1JmPzMvQjRKZYPRDZk/PXUEjMnvVJVJNX1n+pCZq2GC5SDvJQVnWWo7e8Dsw=="
},
"reviews-io": {
"id": "reviews-io",
"provider": "reviewsIo",
"title": "Reviews.io",
"namespace": "Reviews",
"serviceType": "openapi",
"authenticationType": "searchParams",
"options": {
"endpoint": "https://api.reviews.io/",
"storeId": "www.markcatalano.net",
"spec": "https://raw.githubusercontent.com/takeshape/openapi-specs/main/specs/reviews.io/v0.1.0.yml",
"useRestfulNames": true
},
"authentication": "eQsXZA72wHUTdYwMe3UQzL/pJBB12QnYoj/MnJrDqZATTfq81/rkG7kQIfObtv5a3U7ZN+5uOA87UeB8hxqVTN/RXBqd0+nx8weDKrnGWDzTA4MvqYeEb0NScKVQ+kZJn2gO8U3BVbjTp2NO8YC2tgcqTBrzkOvC3acZjdHIxOY85WyUnVb3Elg5Wwq70wMBsbXlMlrYLG6oVD4BVMOe"
},
"klaviyo": {
"id": "klaviyo",
"provider": "klaviyo",
"title": "Klaviyo",
"namespace": "Klaviyo",
"serviceType": "openapi",
"authenticationType": "searchParams",
"options": {
"endpoint": "https://a.klaviyo.com/api/",
"spec": "https://klaviyo-openapi.s3.amazonaws.com/spec.json"
}
},
"voucherify": {
"id": "voucherify",
"provider": "generic",
"title": "Voucherify",
"namespace": "Voucherify",
"serviceType": "rest",
"authenticationType": "bearer",
"options": {
"endpoint": "https://us1.api.voucherify.io/",
"headers": {
"X-App-Id": "7b3f5d07-ebc6-4fb9-a66f-3b94097cfc30"
}
}
},
"referral-candy": {
"id": "referral-candy",
"provider": "generic",
"title": "Referral Candy",
"namespace": "Referral",
"serviceType": "rest",
"authenticationType": "none",
"options": {
"endpoint": "https://my.referralcandy.com/api/v1/"
}
},
"ship-engine": {
"id": "ship-engine",
"provider": "generic",
"title": "Ship Engine",
"namespace": "Shipping",
"serviceType": "rest",
"authenticationType": "bearer",
"options": {
"endpoint": "https://api.shipengine.com"
},
"authentication": "1GDDxPixp5zEY7HZG1G3nBs+5gjDGxeYRsKay7EqiA+UiZd2e6QEVRJJj6VEmYGjVoVghFQqRKcnIFhWIjtwXg6uyP7ug8NpbdL4SyawNbRmD82ezN8sNrZ+DniYFpIBZeTSEYYVtRY5eHeuo3IK"
}
},
"indexedShapes": {
"Stripe_Product": {
"queries": {
"list": {
"name": "Stripe_listProducts",
"pagination": {
"type": "cursor",
"cursorPath": "data[(@.length-1)].id",
"itemsToIndexPath": "data",
"hasMorePath": "has_more",
"cursorArg": "starting_after",
"pageSizeArg": "limit"
}
}
},
"triggers": [
{
"type": "schedule",
"query": "list",
"interval": 1640
},
{
"query": "list",
"type": "webhook",
"service": "stripe",
"events": [
"product.updated",
"product.created",
"product.deleted"
]
}
]
},
"Reviews_ProductReview": {
"idField": "product_review_id",
"queries": {
"list": {
"name": "getAllProductReviews",
"pagination": {
"type": "page",
"itemsToIndexPath": "reviews",
"pageArg": "page",
"pageTotalPath": "total_pages"
}
}
},
"triggers": [
{
"type": "schedule",
"query": "list",
"interval": 1640
}
]
},
"Stripe_PaymentIntent": {
"queries": {
"list": {
"name": "listPaymentIntents",
"pagination": {
"type": "cursor",
"cursorPath": "data[(@.length-1)].id",
"itemsToIndexPath": "data",
"hasMorePath": "has_more",
"cursorArg": "starting_after",
"pageSizeArg": "limit"
},
"objectDepthLimit": 2
}
},
"triggers": [
{
"type": "schedule",
"query": "list",
"interval": 1442
}
]
}
},
"queries": {
"listPaymentIntents": {
"shape": "Stripe_ListPaymentIntentsResponse",
"resolver": {
"name": "rest:get",
"service": "stripe",
"path": "/v1/payment_intents",
"searchParams": {
"ops": [
{
"path": "created",
"mapping": "$args.created"
},
{
"path": "customer",
"mapping": "$args.customer"
},
{
"path": "ending_before",
"mapping": "$args.ending_before"
},
{
"path": "expand",
"value": [
"data.invoice"
]
},
{
"path": "expand",
"mapping": "$args.expand"
},
{
"path": "limit",
"mapping": "$args.limit"
},
{
"path": "starting_after",
"mapping": "$args.starting_after"
}
],
"serialize": {
"paths": {
"created": {
"explode": true,
"style": "deepObject"
},
"customer": {
"style": "form"
},
"ending_before": {
"style": "form"
},
"expand": {
"explode": true,
"style": "deepObject"
},
"limit": {
"style": "form"
},
"starting_after": {
"style": "form"
}
}
}
}
},
"description": "<p>Returns a list of PaymentIntents.</p>",
"args": {
"type": "object",
"properties": {
"created": {},
"customer": {
"type": "string"
},
"ending_before": {
"type": "string"
},
"expand": {
"type": "array",
"items": {
"maxLength": 5000,
"type": "string"
}
},
"limit": {
"type": "integer"
},
"starting_after": {
"type": "string"
}
},
"required": []
}
},
"getProductReviews": {
"shape": "Reviews_ProductReviewsQueryResponse",
"resolver": {
"name": "rest:get",
"service": "reviews-io",
"path": "/product/review",
"searchParams": {
"ops": [
{
"path": "store",
"value": "www.markcatalano.net"
},
{
"path": "sku",
"mapping": "$args.sku"
}
]
}
},
"description": "Get product reviews for an SKU from Reviews.io",
"args": {
"type": "object",
"properties": {
"sku": {
"type": "string"
}
}
}
},
"getAllProductReviews": {
"shape": "Reviews_AllProductReviews",
"resolver": {
"name": "rest:get",
"service": "reviews-io",
"path": "/product/reviews/all",
"searchParams": {
"ops": [
{
"path": "store",
"value": "www.markcatalano.net"
},
{
"path": "page",
"mapping": "$args.page"
},
{
"path": "per_page",
"mapping": "$args.perPage"
}
]
}
},
"args": {
"type": "object",
"properties": {
"page": {
"type": "number"
},
"perPage": {
"type": "number"
}
}
}
},
"getIndexedProductList": {
"shape": "PaginatedList<Stripe_Product>",
"resolver": {
"shapeName": "Stripe_Product",
"name": "takeshape:queryApiIndex",
"service": "takeshape:local",
"options": {
"indexedShape": "Stripe_Product"
}
},
"description": "Get Stripe products from the TakeShape API Index",
"args": "TSListArgs<Stripe_Product>"
},
"getIndexedPaymentIntents": {
"shape": "PaginatedList<Stripe_PaymentIntent>",
"resolver": {
"shapeName": "Stripe_PaymentIntent",
"name": "takeshape:queryApiIndex",
"service": "takeshape:local",
"options": {
"indexedShape": "Stripe_PaymentIntent"
}
},
"description": "Get Stripe payment intents from the TakeShape API Index",
"args": "TSListArgs<Stripe_PaymentIntent>"
},
"getMyProfile": {
"shape": "Profile",
"resolver": {
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
"description": "Get the signed in user's profile from ShapeDB"
},
"getMySubscriptions": {
"shape": {
"type": "array",
"items": {
"@ref": "stripe:Subscription"
}
},
"resolver": {
"compose": [
{
"if": "!isEmpty($claims.sub)",
"id": "profile",
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
{
"if": "!isEmpty($resolvers.profile.stripeCustomerId)",
"id": "subscriptions",
"name": "rest:get",
"service": "stripe",
"path": "/v1/subscriptions",
"searchParams": {
"ops": [
{
"path": "customer",
"mapping": "$resolvers.profile.stripeCustomerId"
},
{
"path": "expand",
"mapping": "$args.expand"
}
],
"serialize": {
"paths": {
"expand": {
"style": "deepObject"
}
}
}
}
}
],
"results": {
"ops": [
{
"path": "$",
"mapping": "$resolvers.subscriptions.data"
}
]
}
},
"description": "Get the signed in user's subscriptions from Stripe",
"args": {
"type": "object",
"properties": {
"expand": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"getMyInvoices": {
"shape": {
"type": "array",
"items": {
"@ref": "stripe:Invoice"
}
},
"resolver": {
"compose": [
{
"if": "!isEmpty($claims.sub)",
"id": "profile",
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
{
"if": "!isEmpty($resolvers.profile.stripeCustomerId)",
"id": "invoices",
"name": "rest:get",
"service": "stripe",
"path": "/v1/invoices",
"searchParams": {
"ops": [
{
"path": "$",
"mapping": "$args"
},
{
"path": "customer",
"mapping": "$resolvers.profile.stripeCustomerId"
}
],
"serialize": {
"defaults": {
"style": "deepObject",
"explode": true
}
}
}
}
],
"results": {
"ops": [
{
"path": "$",
"mapping": "$resolvers.invoices.data"
}
]
}
},
"description": "Get the signed in user's invoices from Stripe",
"args": {
"type": "object",
"properties": {
"expand": {
"type": "array",
"items": {
"type": "string"
}
},
"status": {
"type": "string",
"enum": [
"draft",
"open",
"paid",
"uncollectable",
"void"
]
},
"limit": {
"type": "number"
},
"created": {},
"startingAfter": {
"type": "string"
}
}
}
},
"getMyPayments": {
"shape": {
"type": "array",
"items": {
"@ref": "stripe:PaymentIntent"
}
},
"resolver": {
"compose": [
{
"if": "!isEmpty($claims.sub)",
"id": "profile",
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
{
"if": "!isEmpty($resolvers.profile.stripeCustomerId)",
"id": "payments",
"name": "rest:get",
"service": "stripe",
"path": "/v1/payment_intents",
"searchParams": {
"ops": [
{
"path": "$",
"mapping": "$args"
},
{
"path": "starting_after",
"mapping": "$args.startingAfter"
},
{
"path": "ending_before",
"mapping": "$args.endingBefore"
},
{
"path": "customer",
"mapping": "$resolvers.profile.stripeCustomerId"
}
],
"serialize": {
"defaults": {
"style": "deepObject",
"explode": true
}
}
}
}
],
"results": {
"ops": [
{
"path": "$",
"mapping": [
[
"get",
{
"path": "$resolvers.payments.data"
}
],
[
"filter",
{
"predicate": [
"status",
"succeeded"
]
}
]
]
}
]
}
},
"description": "Get the signed-in user's payments from Stripe",
"args": {
"type": "object",
"properties": {
"expand": {
"type": "array",
"items": {
"type": "string"
}
},
"limit": {
"type": "number"
},
"created": {},
"startingAfter": {
"type": "string"
},
"endingBefore": {
"type": "string"
}
}
}
},
"getMyPayments_TEST": {
"shape": {
"type": "array",
"items": {
"@ref": "stripe:PaymentIntent"
}
},
"resolver": {
"compose": [
{
"id": "profile",
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"value": "google-oauth2|110063172115375106091"
}
]
}
},
{
"if": "!isEmpty($resolvers.profile.stripeCustomerId)",
"id": "payments",
"name": "rest:get",
"service": "stripe",
"path": "/v1/payment_intents",
"searchParams": {
"ops": [
{
"path": "$",
"mapping": "$args"
},
{
"path": "customer",
"mapping": "$resolvers.profile.stripeCustomerId"
}
],
"serialize": {
"defaults": {
"style": "deepObject",
"explode": true
}
}
}
}
],
"results": {
"ops": [
{
"path": "$",
"mapping": [
[
"get",
{
"path": "$resolvers.payments.data"
}
],
[
"filter",
{
"predicate": [
"status",
"succeeded"
]
}
]
]
}
]
}
},
"description": "Get the signed-in user's payments from Stripe",
"args": {
"type": "object",
"properties": {
"expand": {
"type": "array",
"items": {
"type": "string"
}
},
"limit": {
"type": "number"
},
"created": {},
"starting_after": {
"type": "string"
},
"ending_before": {
"type": "string"
}
}
}
},
"getProfile": {
"shape": "Profile",
"resolver": {
"name": "takeshape:get",
"service": "takeshape:local",
"shapeName": "Profile"
},
"description": "Get a profile by ID",
"args": "TSGetArgs<Profile>"
},
"getProfileList": {
"shape": "PaginatedList<Profile>",
"resolver": {
"name": "takeshape:list",
"service": "takeshape:local",
"shapeName": "Profile"
},
"description": "Returns a list of profiles in natural order.",
"args": "TSListArgs<Profile>"
},
"Stripe_listProducts": {
"shape": "Stripe_ListProductsResponse",
"resolver": {
"name": "rest:get",
"service": "stripe",
"path": "/v1/products",
"searchParams": {
"ops": [
{
"path": "active",
"mapping": "$args.active"
},
{
"path": "created",
"mapping": "$args.created"
},
{
"path": "ending_before",
"mapping": "$args.ending_before"
},
{
"path": "expand",
"mapping": "$args.expand"
},
{
"path": "ids",
"mapping": "$args.ids"
},
{
"path": "limit",
"mapping": "$args.limit"
},
{
"path": "shippable",
"mapping": "$args.shippable"
},
{
"path": "starting_after",
"mapping": "$args.starting_after"
},
{
"path": "url",
"mapping": "$args.url"
}
],
"serialize": {
"paths": {
"active": {
"style": "form"
},
"created": {
"explode": true,
"style": "deepObject"
},
"ending_before": {
"style": "form"
},
"expand": {
"explode": true,
"style": "deepObject"
},
"ids": {
"explode": true,
"style": "deepObject"
},
"limit": {
"style": "form"
},
"shippable": {
"style": "form"
},
"starting_after": {
"style": "form"
},
"url": {
"style": "form"
}
}
}
}
},
"description": "<p>Returns a list of your products. The products are returned sorted by creation date, with the most recently created products appearing first.</p>",
"args": {
"type": "object",
"properties": {
"active": {
"type": "boolean"
},
"created": {},
"ending_before": {
"type": "string"
},
"expand": {
"type": "array",
"items": {
"maxLength": 5000,
"type": "string"
}
},
"ids": {
"type": "array",
"items": {
"maxLength": 5000,
"type": "string"
}
},
"limit": {
"type": "integer"
},
"shippable": {
"type": "boolean"
},
"starting_after": {
"type": "string"
},
"url": {
"type": "string"
}
},
"required": []
}
},
"Stripe_getProduct": {
"shape": "Stripe_Product",
"resolver": {
"name": "rest:get",
"service": "stripe",
"path": {
"ops": [
{
"path": "id",
"mapping": "$args.id"
}
],
"serialize": {
"template": "/v1/products/{id}",
"paths": {
"id": {
"style": "simple"
}
}
}
},
"searchParams": {
"ops": [
{
"path": "expand",
"mapping": "$args.expand"
}
],
"serialize": {
"paths": {
"expand": {
"explode": true,
"style": "deepObject"
}
}
}
}
},
"description": "<p>Retrieves the details of an existing product. Supply the unique product ID from either a product creation request or the product list, and Stripe will return the corresponding product information.</p>",
"args": {
"type": "object",
"properties": {
"expand": {
"type": "array",
"items": {
"maxLength": 5000,
"type": "string"
}
},
"id": {
"type": "string"
}
},
"required": [
"id"
]
}
},
"getMyLoyaltyCard": {
"description": "Get a loyalty card from Voucherify",
"shape": "local:Voucherify_LoyaltyCard",
"resolver": {
"compose": [
{
"if": "!isEmpty($claims.sub)",
"shapeName": "Profile",
"name": "takeshape:find",
"service": "takeshape:local",
"id": "profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
{
"if": "!isEmpty($resolvers.profile)",
"id": "loyaltyCard",
"name": "rest:post",
"service": "voucherify",
"path": {
"ops": [
{
"path": "campaignId",
"value": "camp_P4LtxxUSJyNCpRcq5XRmDCi5"
}
],
"serialize": {
"template": "v1/loyalties/{campaignId}/members"
}
},
"json": {
"ops": [
{
"path": "customer",
"ops": [
{
"path": "source_id",
"mapping": "$resolvers.profile.email"
},
{
"path": "email",
"mapping": "$resolvers.profile.email"
},
{
"path": "name",
"mapping": "$resolvers.profile.name"
}
]
}
]
}
}
],
"results": {
"ops": [
{
"path": "$",
"mapping": "$resolvers.loyaltyCard"
}
]
}
}
},
"Klaviyo_getLists": {
"shape": "Klaviyo_GetListsResponse",
"resolver": {
"name": "rest:get",
"service": "klaviyo",
"path": "/v2/lists",
"results": {
"ops": [
{
"path": "items",
"mapping": "$resolvers[0]"
}
]
}
},
"summary": "Get Lists"
},
"getMyNewsletterSubscriptions": {
"shape": {
"type": "array",
"items": {
"@ref": "local:ProfileNewsletterStatus"
}
},
"resolver": {
"if": "!isEmpty($claims.email)",
"name": "rest:get",
"service": "klaviyo",
"path": "/v2/lists",
"results": {
"ops": [
{
"path": "$",
"mapping": "$resolvers[0]"
},
{
"path": "[*].email",
"mapping": "$claims.email"
},
{
"path": "[*].listId",
"mapping": "$loop.item.list_id"
},
{
"path": "[*].listName",
"mapping": "$loop.item.list_name"
}
]
}
}
},
"listCheckoutSessions": {
"shape": "Stripe_ListCheckoutSessionsResponse",
"resolver": {
"name": "rest:get",
"service": "stripe",
"path": "/v1/checkout/sessions",
"searchParams": {
"ops": [
{
"path": "ending_before",
"mapping": "$args.ending_before"
},
{
"path": "expand",
"value": [
"data.line_items"
]
},
{
"path": "expand",
"op": "concat",
"mapping": "$args.expand"
},
{
"path": "limit",
"mapping": "$args.limit"
},
{
"path": "payment_intent",
"mapping": "$args.payment_intent"
},
{
"path": "starting_after",
"mapping": "$args.starting_after"
},
{
"path": "subscription",
"mapping": "$args.subscription"
}
],
"serialize": {
"paths": {
"ending_before": {
"style": "form"
},
"expand": {
"explode": true,
"style": "deepObject"
},
"limit": {
"style": "form"
},
"payment_intent": {
"style": "form"
},
"starting_after": {
"style": "form"
},
"subscription": {
"style": "form"
}
}
}
}
},
"description": "<p>Returns a list of Checkout Sessions.</p>",
"args": {
"type": "object",
"properties": {
"ending_before": {
"type": "string"
},
"expand": {
"type": "array",
"items": {
"maxLength": 5000,
"type": "string"
}
},
"limit": {
"type": "integer"
},
"payment_intent": {
"type": "string"
},
"starting_after": {
"type": "string"
},
"subscription": {
"type": "string"
}
},
"required": []
}
},
"Stripe_listPaymentIntents": {
"shape": "Stripe_ListPaymentIntentsResponse",
"resolver": {
"name": "rest:get",
"service": "stripe",
"path": "/v1/payment_intents",
"searchParams": {
"ops": [
{
"path": "created",
"mapping": "$args.created"
},
{
"path": "customer",
"mapping": "$args.customer"
},
{
"path": "ending_before",
"mapping": "$args.ending_before"
},
{
"path": "expand",
"mapping": "$args.expand"
},
{
"path": "limit",
"mapping": "$args.limit"
},
{
"path": "starting_after",
"mapping": "$args.starting_after"
}
],
"serialize": {
"paths": {
"created": {
"explode": true,
"style": "deepObject"
},
"customer": {
"style": "form"
},
"ending_before": {
"style": "form"
},
"expand": {
"explode": true,
"style": "deepObject"
},
"limit": {
"style": "form"
},
"starting_after": {
"style": "form"
}
}
}
}
},
"description": "<p>Returns a list of PaymentIntents.</p>",
"args": {
"type": "object",
"properties": {
"created": {},
"customer": {
"type": "string"
},
"ending_before": {
"type": "string"
},
"expand": {
"type": "array",
"items": {
"maxLength": 5000,
"type": "string"
}
},
"limit": {
"type": "integer"
},
"starting_after": {
"type": "string"
}
},
"required": []
}
},
"getAsdf": {
"shape": "Asdf",
"resolver": {
"name": "takeshape:get",
"service": "takeshape:local",
"shapeName": "Asdf"
},
"description": "Get a Asdf by ID",
"args": "TSGetArgs<Asdf>"
},
"getAsdfList": {
"shape": "PaginatedList<Asdf>",
"resolver": {
"name": "takeshape:list",
"service": "takeshape:local",
"shapeName": "Asdf"
},
"description": "Returns a list Asdf in natural order.",
"args": "TSListArgs<Asdf>"
},
"getGggggg": {
"shape": "Gggggg",
"resolver": {
"name": "takeshape:get",
"service": "takeshape:local",
"shapeName": "Gggggg"
},
"description": "Get a Gggggg by ID",
"args": "TSGetArgs<Gggggg>"
},
"getGgggggList": {
"shape": "PaginatedList<Gggggg>",
"resolver": {
"name": "takeshape:list",
"service": "takeshape:local",
"shapeName": "Gggggg"
},
"description": "Returns a list Gggggg in natural order.",
"args": "TSListArgs<Gggggg>"
}
},
"mutations": {
"createShipment": {
"shape": "ShipEngine_Label",
"resolver": {
"name": "rest:post",
"service": "ship-engine",
"path": "v1/labels",
"json": {
"ops": [
{
"path": "shipment",
"mapping": "$args"
}
]
}
},
"description": "Create a shipment with ShipEngine.",
"args": "ShipEngine_Shipment"
},
"queueReviewInvitation": {
"shape": "Reviews_PostResponse",
"resolver": {
"name": "rest:post",
"service": "reviews-io",
"path": "invitation",
"searchParams": {
"ops": [
{
"path": "store",
"value": "www.markcatalano.net"
}
]
},
"json": {
"ops": [
{
"path": "name",
"mapping": "$args.name"
},
{
"path": "email",
"mapping": "$args.email"
},
{
"path": "order_id",
"mapping": "$args.orderId"
},
{
"path": "products",
"mapping": "$args.products"
},
{
"path": "template_id",
"value": "47970"
}
]
}
},
"description": "Queue a review invitation with Reviews.io",
"args": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"orderId": {
"type": "string"
},
"products": {
"type": "array",
"items": {
"@ref": "local:Reviews_Product"
}
}
}
}
},
"upsertMyProfile": {
"description": "Upsert the signed-in user's profile, updating ShapeDB and Stripe",
"shape": "Profile",
"resolver": {
"results": {
"ops": [
{
"path": "$",
"mapping": "$resolvers.createProfile.result"
},
{
"path": "$",
"mapping": "$resolvers.updateProfile.result"
}
]
},
"compose": [
{
"if": "!isEmpty($claims.sub)",
"id": "existingProfile",
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
{
"if": "!isEmpty($claims.email) && isEmpty($resolvers.existingProfile.stripeCustomerId)",
"id": "existingCustomerByEmail",
"name": "rest:get",
"service": "stripe",
"path": "/v1/customers",
"searchParams": {
"ops": [
{
"path": "email",
"mapping": "$claims.email"
}
]
}
},
{
"if": "!isEmpty($claims.email) && isEmpty($resolvers.existingProfile.stripeCustomerId) && isEmpty($resolvers.existingCustomerByEmail.data[0].id)",
"id": "createCustomer",
"name": "rest:post",
"service": "stripe",
"path": "/v1/customers",
"form": {
"ops": [
{
"path": "email",
"mapping": "$claims.email"
},
{
"path": "name",
"mapping": "$args.name"
}
],
"serialize": {
"defaults": {
"style": "deepObject",
"explode": true
}
}
}
},
{
"if": "!isEmpty($claims.sub) && (!isEmpty($resolvers.existingProfile.stripeCustomerId) || !isEmpty($resolvers.existingCustomerByEmail.data[0].id)) && isEmpty($resolvers.createCustomer)",
"id": "updateCustomer",
"name": "rest:post",
"service": "stripe",
"path": {
"ops": [
{
"path": "customer",
"mapping": [
[
"get",
{
"path": "$resolvers.existingCustomerByEmail.data[0].id"
}
],
[
"get",
{
"path": "$resolvers.existingProfile.stripeCustomerId"
}
]
]
}
],
"serialize": {
"template": "/v1/customers/{customer}"
}
},
"form": {
"ops": [
{
"path": "email",
"mapping": "$claims.email"
},
{
"path": "name",
"mapping": "$args.name"
}
],
"serialize": {
"defaults": {
"style": "deepObject",
"explode": true
}
}
}
},
{
"if": "!isEmpty($claims.sub) && !isEmpty($claims.email) && isEmpty($resolvers.existingProfile)",
"id": "createProfile",
"name": "takeshape:create",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "input.id",
"mapping": "$claims.sub"
},
{
"path": "input.email",
"mapping": "$claims.email"
},
{
"path": "input.name",
"mapping": "$args.name"
},
{
"path": "input.bio",
"mapping": "$args.bio"
},
{
"path": "input.avatar.id",
"mapping": "$args.avatarId"
},
{
"path": "input.stripeCustomerId",
"mapping": [
[
"get",
{
"path": "$resolvers.existingCustomerByEmail.data[0].id"
}
],
[
"get",
{
"path": "$resolvers.createCustomer.id"
}
]
]
}
]
}
},
{
"if": "!isEmpty($claims.sub) && !isEmpty($claims.email) && !isEmpty($resolvers.existingProfile)",
"id": "updateProfile",
"name": "takeshape:update",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "input._id",
"mapping": "$resolvers.existingProfile._id"
},
{
"path": "input.email",
"mapping": "$claims.email"
},
{
"path": "input.name",
"mapping": "$args.name"
},
{
"path": "input.bio",
"mapping": "$args.bio"
},
{
"path": "input.avatar.id",
"mapping": "$args.avatarId"
},
{
"path": "input.stripeCustomerId",
"mapping": [
[
"get",
{
"path": "$resolvers.existingProfile.stripeCustomerId"
}
],
[
"get",
{
"path": "$resolvers.existingCustomerByEmail.data[0].id"
}
],
[
"get",
{
"path": "$resolvers.createCustomer.id"
}
]
]
}
]
}
}
]
},
"args": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"bio": {
"type": "string"
},
"avatarId": {
"type": "string"
}
}
}
},
"upsertMyCustomer": {
"description": "Upsert the signed-in user's Stripe customer",
"shape": "stripe:Customer",
"resolver": {
"results": {
"ops": [
{
"path": "$",
"mapping": "$resolvers.updatedCustomer"
}
]
},
"compose": [
{
"if": "!isEmpty($claims.sub)",
"id": "existingProfile",
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
{
"if": "!isEmpty($claims.sub) && !isEmpty($claims.email) && isEmpty($resolvers.existingProfile.stripeCustomerId)",
"id": "existingCustomerByEmail",
"name": "rest:get",
"service": "stripe",
"path": "/v1/customers",
"searchParams": {
"ops": [
{
"path": "email",
"mapping": "$claims.email"
}
]
}
},
{
"if": "!isEmpty($claims.sub) && !isEmpty($claims.email) && !isEmpty($resolvers.existingProfile.stripeCustomerId)",
"id": "existingCustomerById",
"name": "rest:get",
"service": "stripe",
"path": {
"ops": [
{
"path": "customer",
"mapping": "$resolvers.existingProfile.stripeCustomerId"
}
],
"serialize": {
"template": "/v1/customers/{customer}"
}
}
},
{
"if": "!isEmpty($claims.sub) && !isEmpty($claims.email)",
"id": "updatedCustomer",
"name": "rest:post",
"service": "stripe",
"path": {
"ops": [
{
"path": "customer",
"mapping": "$resolvers.existingCustomerByEmail.data[0].id"
},
{
"path": "customer",
"mapping": "$resolvers.existingCustomerById.id"
}
],
"serialize": {
"template": "/v1/customers/{customer}"
}
},
"form": {
"ops": [
{
"path": "$",
"mapping": "$args"
},
{
"path": "email",
"mapping": "$claims.email"
}
],
"serialize": {
"defaults": {
"style": "deepObject",
"explode": true
}
}
}
},
{
"if": "!isEmpty($claims.sub) && !isEmpty($resolvers.existingProfile) && isEmpty($resolvers.existingProfile.stripeCustomerId)",
"id": "updatedProfile",
"name": "takeshape:update",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "input._id",
"mapping": "$resolvers.existingProfile._id"
},
{
"path": "input.stripeCustomerId",
"mapping": "$resolvers.updatedCustomer.id"
}
]
}
}
]
},
"args": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"address": {
"type": "object",
"properties": {
"line1": {
"type": "string"
},
"line2": {
"type": "string"
},
"city": {
"type": "string"
},
"country": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"state": {
"type": "string"
}
}
}
}
}
},
"deleteMySubscription": {
"description": "Delete the signed-in user's subscription in Stripe",
"shape": "stripe:Subscription",
"resolver": {
"compose": [
{
"if": "!isEmpty($claims.sub)",
"id": "existingProfile",
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
{
"if": "!isEmpty($claims.sub) && !isEmpty($resolvers.existingProfile.stripeCustomerId)",
"id": "deleteSubscription",
"name": "rest:delete",
"service": "stripe",
"path": {
"ops": [
{
"path": "subscriptionId",
"mapping": "$args.subscriptionId"
}
],
"serialize": {
"template": "/v1/subscriptions/{subscriptionId}"
}
},
"form": {
"ops": [
{
"path": "invoice_now",
"value": "true"
}
]
}
}
]
},
"args": {
"type": "object",
"properties": {
"subscriptionId": {
"type": "string"
}
},
"required": [
"subscriptionId"
]
}
},
"createMyCheckoutSession": {
"description": "Create a Stripe checkout session for the signed-in user",
"shape": "stripe:CheckoutSession",
"resolver": {
"compose": [
{
"if": "!isEmpty($claims.sub)",
"id": "existingProfile",
"name": "takeshape:find",
"service": "takeshape:local",
"shapeName": "Profile",
"args": {
"ops": [
{
"path": "where.id.eq",
"mapping": "$claims.sub"
}
]
}
},
{
"if": "!isEmpty($claims.sub) && !isEmpty($resolvers.existingProfile.stripeCustomerId)",
"id": "createSubscription",
"name": "rest:post",
"service": "stripe",
"path": "/v1/checkout/sessions",
"form": {
"ops": [
{
"path": "customer",
"mapping": "$resolvers.existingProfile.stripeCustomerId"
},
{
"path": "line_items",
"mapping": "$args.lineItems"
},
{
"path": "cancel_url",
"mapping": [
[
"get",
{
"path": "$args.redirectUrl"
}
],
[
"format",
{
"template": "%s?stripe_checkout_session_id={CHECKOUT_SESSION_ID}&stripe_checkout_action=canceled"
}
]
]
},
{
"path": "success_url",
"mapping": [
[
"get",
{
"path": "$args.redirectUrl"
}
],
[
"format",
{
"template": "%s?stripe_checkout_session_id={CHECKOUT_SESSION_ID}&stripe_checkout_action=success"
}
]
]
},
{
"path": "payment_method_types[0]",
"value": "card"
},
{
"path": "mode",
"mapping": "$args.mode"
},
{
"path": "shipping_address_collection.allowed_countries",
"value": [
"US"
]
},
{
"path": "shipping_options[0].shipping_rate_data",
"ops": [
{
"path": "type",
"value": "fixed_amount"
},
{
"path": "fixed_amount.amount",
"value": 0
},
{
"path": "fixed_amount.currency",
"value": "usd"
},
{
"path": "display_name",
"value": "Free shipping (UPS Ground)"
},
{
"path": "delivery_estimate.minimum.unit",
"value": "business_day"
},
{
"path": "delivery_estimate.minimum.value",
"value": 5
},
{
"path": "delivery_estimate.maximum.unit",
"value": "business_day"
},
{
"path": "delivery_estimate.maximum.value",
"value": 7
}
]
},
{
"path": "shipping_options[1].shipping_rate_data",
"ops": [
{
"path": "type",
"value": "fixed_amount"
},
{
"path": "fixed_amount.amount",
"value": 1000
},
{
"path": "fixed_amount.currency",
"value": "usd"
},
{
"path": "display_name",
"value": "Expedited shipping (UPS 2nd Day Air)"
},
{
"path": "delivery_estimate.minimum.unit",
"value": "business_day"
},
{
"path": "delivery_estimate.minimum.value",
"value": 2
},
{
"path": "delivery_estimate.maximum.unit",
"value": "business_day"
},
{
"path": "delivery_estimate.maximum.value",
"value": 2
}
]
},
{
"path": "shipping_options",
"mapping": [
[
"expressionEval",
{
"expression": "$args.mode === 'subscription' ? null : undefined"
}
]
]
},
{
"path": "customer_update.shipping",
"value": "auto"
},
{
"path": "customer_update.address",
"value": "auto"
}
],
"serialize": {
"defaults": {
"style": "deepObject",
"explode": true
}
}
}
}
]
},
"args": {
"type": "object",
"properties": {
"redirectUrl": {
"type": "string"
},
"mode": {
"type": "string",
"enum": [
"payment",
"subscription",
"setup"
]
},
"lineItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"price": {
"type": "string"
},
"quantity": {
"type": "integer"
}
}
}
}
},
"required": [
"mode",
"lineItems",
"redirectUrl"
]
}
},
"updateProfile": {
"shape": "UpdateResult<Profile>",
"resolver": {
"name": "takeshape:update",
"service": "takeshape:local",
"shapeName": "Profile"
},
"description": "Update Profile",
"args": "UpdateArgs<Profile>"
},
"createProfile": {
"shape": "CreateResult<Profile>",
"resolver": {
"name": "takeshape:create",
"service": "takeshape:local",
"shapeName": "Profile"
},
"description": "Create Profile",
"args": "CreateArgs<Profile>"
},
"duplicateProfile": {
"shape": "DuplicateResult<Profile>",
"resolver": {
"name": "takeshape:duplicate",
"service": "takeshape:local",
"shapeName": "Profile"
},
"description": "Duplicate Profile",
"args": "DuplicateArgs<Profile>"
},
"deleteProfile": {
"shape": "DeleteResult<Profile>",
"resolver": {
"name": "takeshape:delete",
"service": "takeshape:local",
"shapeName": "Profile"
},
"description": "Delete Profile",
"args": "DeleteArgs<Profile>"
},
"Voucherify_createOrder": {
"description": "Create an order in Voucherify",
"shape": "Voucherify_Order",
"args": {
"type": "object",
"properties": {
"email": {
"type": "string"
},
"amount": {
"type": "number"
},
"status": {
"type": "string",
"enum": [
"PAID",
"CREATED",
"CANCELED",
"FULFILLED"
]
},
"items": {
"type": "array",
"items": {
"@ref": "local:Voucherify_OrderItem"
}
}
}
},
"resolver": {
"name": "rest:post",
"service": "voucherify",
"path": "v1/orders",
"json": {
"ops": [
{
"path": "customer.source_id",
"mapping": "$args.email"
},
{
"path": "status",
"mapping": "$args.status"
},
{
"path": "amount",
"mapping": "$args.amount"
},
{
"path": "items",
"mapping": "$args.items"
},
{
"path": "items[*]",
"ops": [
{
"path": "product_id",
"mapping": [
[
"get",
{
"path": "$parent.$value.id"
}
]
]
},
{
"path": "product",
"ops": [
{
"path": "override",
"value": true
},
{
"path": "name",
"mapping": "$parent.$parent.$value.name"
}
]
}
]
},
{
"path": "items[*].id",
"op": "remove"
},
{
"path": "items[*].name",
"op": "remove"
}
]
}
}
},
"Klaviyo_getListMembers": {
"shape": {
"type": "array",
"items": {
"@ref": "local:GetListMemberItem"
}
},
"resolver": {
"name": "rest:post",
"service": "klaviyo",
"path": {
"ops": [
{
"path": "list_id",
"mapping": "$args.list_id"
}
],
"serialize": {
"template": "/v2/list/{list_id}/get-members",
"paths": {
"list_id": {
"style": "simple"
}
}
}
},
"body": {
"ops": [
{
"path": "$",
"mapping": "$args.input"
}
],
"serialize": {
"content": {
"contentType": "application/json"
}
}
},
"headers": {
"ops": [
{
"path": "content-type",
"value": "application/json"
}
]
}
},
"summary": "Check if Profiles Are in a List",
"args": {
"type": "object",
"properties": {
"input": {
"@ref": "local:GetListMembersInput"
},
"list_id": {
"type": "string"
}
},
"required": [
"list_id"
]
}
},
"Klaviyo_addMembers": {
"shape": "Klaviyo_AddMembersResponse",
"resolver": {
"name": "rest:post",
"service": "klaviyo",
"path": {
"ops": [
{
"path": "list_id",
"mapping": "$args.list_id"
}
],
"serialize": {
"template": "/v2/list/{list_id}/members",
"paths": {
"list_id": {
"style": "simple"
}
}
}
},
"body": {
"ops": [
{
"path": "$",
"mapping": "$args.input"
}
],
"serialize": {
"content": {
"contentType": "application/json"
}
}
},
"headers": {
"ops": [
{
"path": "content-type",
"value": "application/json"
}
]
},
"results": {
"ops": [
{
"path": "items",
"mapping": "$resolvers[0]"
}
]
}
},
"summary": "Add Members to a List",
"args": {
"type": "object",
"properties": {
"input": {
"@ref": "local:AddListMembersInput"
},
"list_id": {
"type": "string"
}
},
"required": [
"list_id"
]
}
},
"Klaviyo_removeMembers": {
"shape": "Klaviyo_200Ok",
"resolver": {
"name": "rest:delete",
"service": "klaviyo",
"path": {
"ops": [
{
"path": "list_id",
"mapping": "$args.list_id"
}
],
"serialize": {
"template": "/v2/list/{list_id}/members",
"paths": {
"list_id": {
"style": "simple"
}
}
}
},
"body": {
"ops": [
{
"path": "$",
"mapping": "$args.input"
}
],
"serialize": {
"content": {
"contentType": "application/json"
}
}
},
"headers": {
"ops": [
{
"path": "content-type",
"value": "application/json"
}
]
}
},
"summary": "Remove Profiles From List",
"args": {
"type": "object",
"properties": {
"input": {
"description": "\nThe profiles that you would like to remove from the list. \n\nExample:\n\n{\n \"emails\":[\"george.washington@klaviyo.com\",\"abraham.lincoln@klaviyo.com\"],\n \"phone_numbers\":[\"+13239169023\"],\n \"push_tokens\":[\"03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2r\"]\n}\n",
"properties": {
"emails": {
"minItems": 0,
"items": {
"type": "string"
},
"type": "array"
},
"phone_numbers": {
"minItems": 0,
"items": {
"type": "string"
},
"type": "array"
},
"push_tokens": {
"minItems": 0,
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"list_id": {
"type": "string"
}
},
"required": [
"list_id"
]
}
},
"updateAsdf": {
"shape": "UpdateResult<Asdf>",
"resolver": {
"name": "takeshape:update",
"service": "takeshape:local",
"shapeName": "Asdf"
},
"description": "Update Asdf",
"args": "UpdateArgs<Asdf>"
},
"createAsdf": {
"shape": "CreateResult<Asdf>",
"resolver": {
"name": "takeshape:create",
"service": "takeshape:local",
"shapeName": "Asdf"
},
"description": "Create Asdf",
"args": "CreateArgs<Asdf>"
},
"duplicateAsdf": {
"shape": "DuplicateResult<Asdf>",
"resolver": {
"name": "takeshape:duplicate",
"service": "takeshape:local",
"shapeName": "Asdf"
},
"description": "Duplicate Asdf",
"args": "DuplicateArgs<Asdf>"
},
"deleteAsdf": {
"shape": "DeleteResult<Asdf>",
"resolver": {
"name": "takeshape:delete",
"service": "takeshape:local",
"shapeName": "Asdf"
},
"description": "Delete Asdf",
"args": "DeleteArgs<Asdf>"
},
"updateGggggg": {
"shape": "UpdateResult<Gggggg>",
"resolver": {
"name": "takeshape:update",
"service": "takeshape:local",
"shapeName": "Gggggg"
},
"description": "Update Gggggg",
"args": "UpdateArgs<Gggggg>"
},
"createGggggg": {
"shape": "CreateResult<Gggggg>",
"resolver": {
"name": "takeshape:create",
"service": "takeshape:local",
"shapeName": "Gggggg"
},
"description": "Create Gggggg",
"args": "CreateArgs<Gggggg>"
},
"duplicateGggggg": {
"shape": "DuplicateResult<Gggggg>",
"resolver": {
"name": "takeshape:duplicate",
"service": "takeshape:local",
"shapeName": "Gggggg"
},
"description": "Duplicate Gggggg",
"args": "DuplicateArgs<Gggggg>"
},
"deleteGggggg": {
"shape": "DeleteResult<Gggggg>",
"resolver": {
"name": "takeshape:delete",
"service": "takeshape:local",
"shapeName": "Gggggg"
},
"description": "Delete Gggggg",
"args": "DeleteArgs<Gggggg>"
},
"Reviews_updateProductInvitation": {
"shape": "Reviews_UpdateProductInvitationResponse",
"resolver": {
"name": "rest:put",
"service": "reviews-io",
"path": "/product/invitation/{id}",
"body": {
"ops": [
{
"path": "$",
"mapping": "$args.input"
}
],
"serialize": {
"content": {
"contentType": "application/json"
}
}
},
"headers": {
"ops": [
{
"path": "content-type",
"value": "application/json"
}
]
}
},
"summary": "Edit product review invitation",
"args": {
"type": "object",
"properties": {
"input": {
"properties": {
"name": {
"type": "string"
},
"email": {
"format": "email",
"type": "string"
},
"order_id": {
"type": "string"
},
"products": {
"items": {
"@ref": "reviews-io:Product"
},
"type": "array"
},
"status": {
"description": "Invite status",
"enum": [
"active",
"inactive"
]
},
"template_id": {
"description": "Template identifier",
"type": "string"
},
"delay": {
"description": "Invite delay",
"type": "string"
}
},
"type": "object"
}
},
"required": []
}
},
"Reviews_deleteProductInvitation": {
"shape": "Reviews_DeleteProductInvitationResponse",
"resolver": {
"name": "rest:delete",
"service": "reviews-io",
"path": "/product/invitation/{id}"
},
"summary": "Remove product review invitation"
}
},
"shapes": {
"Reviews_PostResponse": {
"id": "Reviews_PostResponse",
"name": "Reviews_PostResponse",
"title": "Reviews_PostResponse",
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"messages": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
"Reviews_ProductReviewer": {
"id": "Reviews_ProductReviewer",
"name": "Reviews_ProductReviewer",
"title": "Reviews_ProductReviewer",
"schema": {
"type": "object",
"properties": {
"first_name": {
"type": "string"
},
"last_name": {
"type": "string"
},
"verified_buyer": {
"type": "string"
},
"address": {
"type": "string"
},
"profile_picture": {
"type": "string"
},
"gravatar": {
"type": "string"
}
}
}
},
"Reviews_ProductReview": {
"id": "Reviews_ProductReview",
"name": "Reviews_ProductReview",
"title": "Reviews_ProductReview",
"schema": {
"type": "object",
"properties": {
"title": {
"type": "string"
},
"product_review_id": {
"type": "integer"
},
"review": {
"type": "string"
},
"sku": {
"type": "string"
},
"rating": {
"type": "integer"
},
"date_created": {
"type": "string"
},
"order_id": {
"type": "string"
},
"reviewer": {
"@ref": "local:Reviews_ProductReviewer"
},
"timeago": {
"type": "string"
}
}
}
},
"Reviews_ProductReviews": {
"id": "Reviews_ProductReviews",
"name": "Reviews_ProductReviews",
"title": "Reviews_ProductReviews",
"schema": {
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"per_page": {
"type": "integer"
},
"current_page": {
"type": "integer"
},
"last_page": {
"type": "integer"
},
"from": {
"type": "integer"
},
"to": {
"type": "integer"
},
"data": {
"type": "array",
"items": {
"@ref": "local:Reviews_ProductReview"
}
}
}
}
},
"Reviews_AllProductReviews": {
"id": "Reviews_AllProductReviews",
"name": "Reviews_AllProductReviews",
"title": "Reviews_AllProductReviews",
"schema": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"reviews": {
"type": "array",
"items": {
"@ref": "local:Reviews_ProductReview"
}
},
"count": {
"type": "integer"
},
"rating": {
"type": "number"
},
"per_page": {
"type": "integer"
},
"current_page": {
"type": "integer"
},
"total_pages": {
"type": "integer"
}
}
}
},
"Reviews_Store": {
"id": "Reviews_Store",
"name": "Reviews_Store",
"title": "Reviews_Store",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"logo": {
"type": "string"
}
}
}
},
"Reviews_Product": {
"id": "Reviews_Product",
"name": "Reviews_Product",
"title": "Reviews_Product",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"sku": {
"type": "string"
},
"image": {
"type": "string"
},
"pageUrl": {
"type": "string"
},
"description": {
"type": "string"
}
}
}
},
"Reviews_Stats": {
"id": "Reviews_Stats",
"name": "Reviews_Stats",
"title": "Reviews_Stats",
"schema": {
"type": "object",
"properties": {
"average": {
"type": "string"
},
"count": {
"type": "integer"
}
}
}
},
"Reviews_ProductReviewsQueryResponse": {
"id": "Reviews_ProductReviewsQueryResponse",
"name": "Reviews_ProductReviewsQueryResponse",
"title": "Reviews_ProductReviewsQueryResponse",
"schema": {
"type": "object",
"properties": {
"reviews": {
"@ref": "local:Reviews_ProductReviews"
},
"store": {
"@ref": "local:Reviews_Store"
},
"stats": {
"@ref": "local:Reviews_Stats"
},
"word": {
"type": "string"
},
"write_review_link": {
"type": "string"
}
}
}
},
"Voucherify_OrderItem": {
"id": "Voucherify_OrderItem",
"name": "Voucherify_OrderItem",
"title": "Voucherify_OrderItem",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"quantity": {
"type": "integer"
},
"price": {
"type": "integer"
}
}
}
},
"Voucherify_Order": {
"id": "Voucherify_Order",
"name": "Voucherify_Order",
"title": "Voucherify_Order",
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string"
}
}
}
},
"Voucherify_LoyaltyCardStats": {
"id": "Voucherify_LoyaltyCardStats",
"name": "Voucherify_LoyaltyCardStats",
"title": "Voucherify_LoyaltyCardStats",
"schema": {
"type": "object",
"properties": {
"points": {
"type": "integer"
},
"balance": {
"type": "integer"
}
}
}
},
"Voucherify_LoyaltyCardAsset": {
"id": "Voucherify_LoyaltyCardAsset",
"name": "Voucherify_LoyaltyCardAsset",
"title": "Voucherify_LoyaltyCardAsset",
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
}
}
}
},
"Voucherify_LoyaltyCardAssets": {
"id": "Voucherify_LoyaltyCardAssets",
"name": "Voucherify_LoyaltyCardAssets",
"title": "Voucherify_LoyaltyCardAssets",
"schema": {
"type": "object",
"properties": {
"qr": {
"@ref": "local:Voucherify_LoyaltyCardAsset"
},
"barcode": {
"@ref": "local:Voucherify_LoyaltyCardAsset"
}
}
}
},
"Voucherify_LoyaltyCard": {
"id": "Voucherify_LoyaltyCard",
"name": "Voucherify_LoyaltyCard",
"title": "Voucherify_LoyaltyCard",
"schema": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"code": {
"type": "string"
},
"campaign": {
"type": "string"
},
"campaign_id": {
"type": "string"
},
"type": {
"type": "string"
},
"loyalty_card": {
"@ref": "local:Voucherify_LoyaltyCardStats"
},
"active": {
"type": "boolean"
},
"assets": {
"@ref": "local:Voucherify_LoyaltyCardAssets"
}
}
}
},
"Stripe_CheckoutSession": {
"id": "Stripe_CheckoutSession",
"name": "Stripe_CheckoutSession",
"title": "Stripe_CheckoutSession",
"schema": {
"extends": [
{
"@ref": "stripe:CheckoutSession"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_Charge": {
"id": "Stripe_Charge",
"name": "Stripe_Charge",
"title": "Stripe_Charge",
"schema": {
"extends": [
{
"@ref": "stripe:Charge"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_Order": {
"id": "Stripe_Order",
"name": "Stripe_Order",
"title": "Stripe_Order",
"schema": {
"extends": [
{
"@ref": "stripe:Order"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_Card": {
"id": "Stripe_Card",
"name": "Stripe_Card",
"title": "Stripe_Card",
"schema": {
"extends": [
{
"@ref": "stripe:Card"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_Discount": {
"id": "Stripe_Discount",
"name": "Stripe_Discount",
"title": "Stripe_Discount",
"schema": {
"extends": [
{
"@ref": "stripe:Discount"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_DeletedDiscount": {
"id": "Stripe_DeletedDiscount",
"name": "Stripe_DeletedDiscount",
"title": "Stripe_DeletedDiscount",
"schema": {
"extends": [
{
"@ref": "stripe:Discount"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_BankAccount": {
"id": "Stripe_BankAccount",
"name": "Stripe_BankAccount",
"title": "Stripe_BankAccount",
"schema": {
"extends": [
{
"@ref": "stripe:BankAccount"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_Quote": {
"id": "Stripe_Quote",
"name": "Stripe_Quote",
"title": "Stripe_Quote",
"schema": {
"extends": [
{
"@ref": "stripe:Quote"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
},
"invoice": {
"@ref": "stripe:Invoice"
}
}
}
]
}
},
"Stripe_AlipayAccount": {
"id": "Stripe_AlipayAccount",
"name": "Stripe_AlipayAccount",
"title": "Stripe_AlipayAccount",
"schema": {
"extends": [
{
"@ref": "stripe:AlipayAccount"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_Invoice": {
"id": "Stripe_Invoice",
"name": "Stripe_Invoice",
"title": "Stripe_Invoice",
"schema": {
"extends": [
{
"@ref": "stripe:Invoice"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_PaymentIntent": {
"id": "Stripe_PaymentIntent",
"name": "Stripe_PaymentIntent",
"title": "Stripe_PaymentIntent",
"schema": {
"extends": [
{
"@ref": "stripe:PaymentIntent"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
},
"session": {
"description": "The Stripe checkout session associated with this payment.",
"title": "Stripe Checkout Session",
"@ref": "stripe:CheckoutSession",
"@resolver": {
"name": "rest:get",
"service": "stripe",
"options": {
"ignoreErrors": true
},
"path": "v1/checkout/sessions",
"searchParams": {
"ops": [
{
"path": "payment_intent",
"mapping": "$source.id"
},
{
"path": "expand",
"value": [
"data.line_items"
]
}
],
"serialize": {
"paths": {
"expand": {
"explode": true,
"style": "deepObject"
},
"payment_intent": {
"style": "form"
}
}
}
},
"results": {
"ops": [
{
"path": "$",
"mapping": "$finalResolver.data[0]"
}
]
}
}
},
"shipment": {
"description": "The ShipEngine label associated with this payment.",
"title": "ShipEngine Label",
"@ref": "local:ShipEngine_Label",
"@resolver": {
"name": "rest:get",
"service": "ship-engine",
"options": {
"ignoreErrors": true
},
"path": {
"ops": [
{
"path": "id",
"mapping": "$source.id"
}
],
"serialize": {
"template": "v1/labels/external_shipment_id/{id}"
}
}
}
}
}
}
]
}
},
"Stripe_SetupIntent": {
"id": "Stripe_SetupIntent",
"name": "Stripe_SetupIntent",
"title": "Stripe_SetupIntent",
"schema": {
"extends": [
{
"@ref": "stripe:SetupIntent"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_Subscription": {
"id": "Stripe_Subscription",
"name": "Stripe_Subscription",
"title": "Stripe_Subscription",
"schema": {
"extends": [
{
"@ref": "stripe:Subscription"
},
{
"type": "object",
"properties": {
"customer": {
"type": "string"
}
}
}
]
}
},
"Stripe_Product": {
"id": "Stripe_Product",
"name": "Stripe_Product",
"title": "Stripe_Product",
"schema": {
"extends": [
{
"@ref": "stripe:Product"
},
{
"type": "object",
"properties": {
"prices": {
"type": "array",
"items": {
"@ref": "stripe:Price"
},
"@resolver": {
"name": "rest:get",
"service": "stripe",
"path": "/v1/prices",
"searchParams": {
"ops": [
{
"path": "active",
"value": "true"
},
{
"path": "product",
"mapping": "$source.id"
}
]
},
"results": {
"ops": [
{
"path": "$",
"mapping": "$finalResolver.data"
}
]
}
}
},
"reviews": {
"@ref": "local:Reviews_ProductReviewsQueryResponse",
"@resolver": {
"name": "rest:get",
"service": "reviews-io",
"path": "/product/review",
"searchParams": {
"ops": [
{
"path": "store",
"value": "www.markcatalano.net"
},
{
"path": "sku",
"mapping": "$source.id"
}
]
}
}
}
}
}
]
}
},
"Stripe_Price": {
"id": "Stripe_Price",
"name": "Stripe_Price",
"title": "Stripe_Price",
"schema": {
"extends": [
{
"@ref": "stripe:Price"
},
{
"type": "object",
"properties": {
"recurring": {
"@ref": "stripe:Recurring"
},
"product": {
"description": "The Stripe product associated with this subscription.",
"title": "Stripe Product",
"@ref": "stripe:Product",
"@resolver": {
"name": "rest:get",
"service": "stripe",
"options": {
"ignoreErrors": true,
"ttl": 3600
},
"path": {
"ops": [
{
"path": "product",
"mapping": "$source.product"
}
],
"serialize": {
"template": "/v1/products/{product}"
}
}
}
}
}
}
]
}
},
"Stripe_InvoiceLinesProperty": {
"id": "Stripe_InvoiceLinesProperty",
"name": "Stripe_InvoiceLinesProperty",
"title": "Stripe_InvoiceLinesProperty",
"schema": {
"extends": [
{
"@ref": "stripe:InvoiceLinesProperty"
},
{
"type": "object",
"properties": {
"price": {
"description": "The Stripe price associated with this line item.",
"title": "Stripe Price",
"@ref": "stripe:Price",
"@resolver": {
"name": "rest:get",
"service": "stripe",
"options": {
"ignoreErrors": true,
"ttl": 3600
},
"path": {
"ops": [
{
"path": "price",
"mapping": "$source.price"
}
],
"serialize": {
"template": "/v1/prices/{price}"
}
}
}
}
}
}
]
}
},
"Stripe_CheckoutSessionLineItemsProperty": {
"id": "Stripe_CheckoutSessionLineItemsProperty",
"name": "Stripe_CheckoutSessionLineItemsProperty",
"title": "Stripe_CheckoutSessionLineItemsProperty",
"schema": {
"extends": [
{
"@ref": "stripe:CheckoutSessionLineItemsProperty"
},
{
"type": "object",
"properties": {
"price": {
"description": "The Stripe price associated with this line item.",
"title": "Stripe Price",
"@ref": "stripe:Price",
"@resolver": {
"name": "rest:get",
"service": "stripe",
"options": {
"ignoreErrors": true,
"ttl": 3600
},
"path": {
"ops": [
{
"path": "price",
"mapping": "$source.price"
}
],
"serialize": {
"template": "/v1/prices/{price}"
}
}
}
}
}
}
]
}
},
"Profile": {
"id": "K1WGTS1Yn",
"name": "Profile",
"title": "Profile",
"workflow": "default",
"model": {
"type": "multiple"
},
"schema": {
"type": "object",
"properties": {
"id": {
"minLength": 0,
"type": "string",
"description": "",
"title": "ID",
"@mapping": "takeshape:local:Profile.zCUrxUP8h"
},
"name": {
"minLength": 0,
"type": "string",
"description": "",
"title": "Name",
"@mapping": "takeshape:local:Profile.-DrKuNqxZ"
},
"email": {
"minLength": 0,
"type": "string",
"description": "",
"title": "Email",
"@mapping": "takeshape:local:Profile.H8n0k9-ew"
},
"bio": {
"minLength": 0,
"type": "string",
"description": "",
"title": "Bio",
"@mapping": "takeshape:local:Profile.2nWp5by8j"
},
"avatar": {
"description": "",
"$ref": "#/shapes/TSRelationship/schema",
"@relationship": {
"shapeIds": [
"ASSET"
]
},
"title": "Avatar",
"@mapping": "takeshape:local:Profile.k0Ha4O7oV"
},
"stripeCustomerId": {
"type": "string",
"minLength": 0,
"description": "",
"title": "Stripe Customer ID",
"@mapping": "takeshape:local:Profile.Z8JJPxO0B"
},
"stripeCustomer": {
"title": "Stripe Customer",
"description": "",
"@ref": "stripe:Customer",
"@resolver": {
"name": "rest:get",
"service": "stripe",
"options": {
"ignoreErrors": true
},
"path": {
"ops": [
{
"path": "customer",
"mapping": "$source.stripeCustomerId"
}
],
"serialize": {
"template": "/v1/customers/{customer}"
}
}
}
},
"loyaltyCard": {
"title": "Voucherify Loyalty Card",
"description": "",
"@ref": "local:Voucherify_LoyaltyCard",
"@resolver": {
"options": {
"ignoreErrors": true
},
"name": "rest:post",
"service": "voucherify",
"path": {
"ops": [
{
"path": "campaignId",
"value": "camp_P4LtxxUSJyNCpRcq5XRmDCi5"
}
],
"serialize": {
"template": "v1/loyalties/{campaignId}/members"
}
},
"json": {
"ops": [
{
"path": "customer",
"ops": [
{
"path": "source_id",
"mapping": "$source.email"
},
{
"path": "email",
"mapping": "$source.email"
},
{
"path": "name",
"mapping": "$source.name"
}
]
}
]
}
}
},
"orders": {
"title": "Orders",
"description": "",
"type": "array",
"items": {
"@ref": "stripe:Invoice"
},
"@resolver": {
"if": "!isEmpty($source.stripeCustomerId)",
"id": "invoices",
"name": "rest:get",
"service": "stripe",
"path": "/v1/invoices",
"searchParams": {
"ops": [
{
"path": "$",
"mapping": "$args"
},
{
"path": "customer",
"mapping": "$source.stripeCustomerId"
}
],
"serialize": {
"defaults": {
"style": "deepObject",
"explode": true
}
}
},
"results": {
"ops": [
{
"path": "$",
"mapping": "$resolvers.invoices.data"
}
]
}
}
},
"reviews": {
"title": "Reviews",
"type": "array",
"items": {
"@ref": "reviews-io:ProductReview"
},
"@resolver": {
"name": "takeshape:queryApiIndex",
"service": "takeshape:local",
"shapeName": "Reviews_ProductReview",
"options": {
"indexedShape": "Reviews_ProductReview"
},
"args": {
"ops": [
{
"path": "where.reviewer.address.eq",
"mapping": "$source.email"
}
]
},
"results": {
"ops": [
{
"path": "$",
"mapping": "$resolvers[0].items"
}
]
}
}
}
}
}
},
"GetListMembersInput": {
"name": "GetListMembersInput",
"id": "GetListMembersInput",
"title": "GetListMembersInput",
"schema": {
"type": "object",
"description": "\nThe profiles that you would like to remove from the list. \n\nExample:\n\n{\n \"emails\":[\"george.washington@klaviyo.com\",\"abraham.lincoln@klaviyo.com\"],\n \"phone_numbers\":[\"+13239169023\"],\n \"push_tokens\":[\"03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2r\"]\n}\n",
"properties": {
"emails": {
"minItems": 0,
"items": {
"type": "string"
},
"type": "array"
},
"phone_numbers": {
"minItems": 0,
"items": {
"type": "string"
},
"type": "array"
},
"push_tokens": {
"minItems": 0,
"items": {
"type": "string"
},
"type": "array"
}
}
}
},
"GetListMemberItem": {
"name": "GetListMemberItem",
"title": "GetListMemberItem",
"id": "GetListMemberItem",
"schema": {
"type": "object",
"description": "\nThe profiles that you would like to remove from the list. \n\nExample:\n\n{\n \"emails\":[\"george.washington@klaviyo.com\",\"abraham.lincoln@klaviyo.com\"],\n \"phone_numbers\":[\"+13239169023\"],\n \"push_tokens\":[\"03df25c845d460bcdad7802d2vf6fc1dfde97283bf75cc993eb6dca835ea2e2r\"]\n}\n",
"properties": {
"id": {
"type": "string"
},
"created": {
"type": "string"
},
"email": {
"type": "string"
},
"push_token": {
"type": "string"
},
"phone_number": {
"type": "string"
}
}
}
},
"ShipEngine_Dimensions": {
"name": "ShipEngine_Dimensions",
"id": "ShipEngine_Dimensions",
"title": "ShipEngine_Dimensions",
"schema": {
"type": "object",
"properties": {
"length": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"inch",
"centimeter"
]
}
}
}
},
"ShipEngine_Weight": {
"name": "ShipEngine_Weight",
"id": "ShipEngine_Weight",
"title": "ShipEngine_Weight",
"schema": {
"type": "object",
"properties": {
"value": {
"type": "number"
},
"unit": {
"type": "string",
"enum": [
"pound",
"ounce",
"gram",
"kilogram"
]
}
}
}
},
"ShipEngine_Address": {
"name": "ShipEngine_Address",
"id": "ShipEngine_Address",
"title": "ShipEngine_Address",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"phone": {
"type": "string"
},
"address_line1": {
"type": "string"
},
"address_line2": {
"type": "string"
},
"city_locality": {
"type": "string"
},
"state_province": {
"type": "string"
},
"postal_code": {
"type": "string"
},
"country_code": {
"type": "string"
},
"address_residential_indicator": {
"type": "string"
}
}
}
},
"ShipEngine_LabelDownload": {
"name": "ShipEngine_LabelDownload",
"id": "ShipEngine_LabelDownload",
"title": "ShipEngine_LabelDownload",
"schema": {
"type": "object",
"properties": {
"href": {
"type": "string"
},
"pdf": {
"type": "string"
},
"png": {
"type": "string"
},
"zpl": {
"type": "string"
}
}
}
},
"ShipEngine_Package": {
"name": "ShipEngine_Package",
"id": "ShipEngine_Package",
"title": "ShipEngine_Package",
"schema": {
"type": "object",
"properties": {
"package_id": {
"type": "integer"
},
"description": {
"type": "string"
},
"package_code": {
"type": "string"
},
"tracking_number": {
"type": "string"
},
"label_download": {
"@ref": "local:ShipEngine_LabelDownload"
},
"weight": {
"@ref": "local:ShipEngine_Weight"
},
"dimensions": {
"@ref": "local:ShipEngine_Dimensions"
}
}
}
},
"ShipEngine_Shipment": {
"name": "ShipEngine_Shipment",
"id": "ShipEngine_Shipment",
"title": "ShipEngine_Shipment",
"schema": {
"type": "object",
"properties": {
"shipment_id": {
"type": "string"
},
"carrier_id": {
"type": "string"
},
"service_code": {
"type": "string"
},
"external_order_id": {
"type": "string"
},
"external_shipment_id": {
"type": "string"
},
"ship_date": {
"type": "string"
},
"created_at": {
"type": "string"
},
"modified_at": {
"type": "string"
},
"shipment_status": {
"type": "string"
},
"origin_type": {
"type": "string"
},
"insurance_provider": {
"type": "string"
},
"order_source_code": {
"type": "string"
},
"packages": {
"type": "array",
"items": {
"@ref": "local:ShipEngine_Package"
}
},
"ship_to": {
"@ref": "local:ShipEngine_Address"
},
"ship_from": {
"@ref": "local:ShipEngine_Address"
}
}
}
},
"ShipEngine_Label": {
"name": "ShipEngine_Label",
"id": "ShipEngine_Label",
"title": "ShipEngine_Label",
"schema": {
"type": "object",
"properties": {
"label_id": {
"type": "string"
},
"status": {
"type": "string"
},
"shipment_id": {
"type": "string"
},
"ship_date": {
"type": "string"
},
"created_at": {
"type": "string"
},
"tracking_number": {
"type": "string"
},
"batch_id": {
"type": "string"
},
"carrier_id": {
"type": "string"
},
"charge_event": {
"type": "string"
},
"service_code": {
"type": "string"
},
"package_code": {
"type": "string"
},
"voided_at": {
"type": "string"
},
"label_format": {
"type": "string"
},
"display_scheme": {
"type": "string"
},
"label_layout": {
"type": "string"
},
"label_image_id": {
"type": "string"
},
"carrier_code": {
"type": "string"
},
"tracking_status": {
"type": "string"
},
"label_download": {
"@ref": "local:ShipEngine_LabelDownload"
},
"trackable": {
"type": "boolean"
},
"packages": {
"type": "array",
"items": {
"@ref": "local:ShipEngine_Package"
}
}
}
}
},
"AddListMembersInput": {
"name": "AddListMembersInput",
"title": "AddListMembersInput",
"id": "AddListMembersInput",
"schema": {
"description": "The profiles that you would like to add to the list. Each object in the array must have an `email` or `phone_number`. You can also provide additional properties as key-value pairs.",
"properties": {
"profiles": {
"minItems": 0,
"maxItems": 100,
"items": {
"type": "object",
"properties": {
"email": {
"type": "string"
}
}
},
"type": "array"
}
},
"required": [
"profiles"
],
"type": "object"
}
},
"ProfileNewsletterStatus": {
"id": "ProfileNewsletterStatus",
"name": "ProfileNewsletterStatus",
"title": "ProfileNewsletterStatus",
"schema": {
"type": "object",
"properties": {
"listId": {
"type": "string",
"description": "",
"title": "List ID"
},
"listName": {
"type": "string",
"description": "",
"title": "List Name"
},
"subscribed": {
"type": "boolean",
"description": "",
"title": "Subscribed",
"@resolver": {
"name": "rest:post",
"service": "klaviyo",
"path": {
"ops": [
{
"path": "list_id",
"mapping": "$source.listId"
}
],
"serialize": {
"template": "/v2/list/{list_id}/get-members"
}
},
"json": {
"ops": [
{
"path": "$.emails[0]",
"mapping": "$source.email"
}
]
},
"results": {
"ops": [
{
"path": "$",
"mapping": [
[
"expressionEval",
{
"expression": "$resolvers[0].length > 0"
}
]
]
}
]
}
}
}
}
}
},
"Asdf": {
"id": "LwvQU1qC0",
"name": "Asdf",
"title": "asdf",
"workflow": "default",
"model": {
"type": "multiple"
},
"schema": {
"type": "object",
"properties": {
"singleLine": {
"minLength": 0,
"type": "string",
"description": "",
"title": "Single Line",
"@mapping": "takeshape:local:Asdf.rqJZUsWC0"
}
}
}
},
"Gggggg": {
"id": "zsXfIbD_U",
"name": "Gggggg",
"title": "gggggg",
"workflow": "default",
"model": {
"type": "multiple"
},
"schema": {
"type": "object",
"properties": {
"singleLineCanvas": {
"type": "object",
"@tag": "draftjs",
"description": "",
"title": "Single Line Canvas",
"@mapping": "takeshape:local:Gggggg.iPMdVcFCo"
}
}
}
}
},
"schemaVersion": "3.17.0"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment