{
  "service": "tremendous",
  "displayName": "Tremendous",
  "categories": [
    "Finance",
    "Marketing"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "API Key",
      "placeholder": "PROD_... or TEST_...",
      "description": "Tremendous API key used as a Bearer token. In production, create it from Team settings -> Developers after API access is approved: https://developers.tremendous.com/docs/production-api-access."
    }
  ],
  "homepageUrl": "https://www.tremendous.com",
  "actions": [
    {
      "id": "tremendous.create_order",
      "service": "tremendous",
      "name": "create_order",
      "description": "Create a Tremendous reward order with an optional external ID for idempotent retries.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "externalId": {
            "type": "string",
            "minLength": 1,
            "description": "A customer-supplied idempotency reference for this order."
          },
          "fundingSourceId": {
            "type": "string",
            "minLength": 1,
            "description": "The Tremendous funding source ID used to pay for the order. Use balance to use the Tremendous balance."
          },
          "campaignId": {
            "type": "string",
            "minLength": 1,
            "description": "The Tremendous campaign ID that defines the reward experience."
          },
          "products": {
            "type": "array",
            "items": {
              "type": "string",
              "minLength": 1,
              "description": "A Tremendous product ID."
            },
            "description": "Product IDs that the recipient can choose from. This overrides campaign products when provided.",
            "minItems": 1
          },
          "value": {
            "type": "object",
            "properties": {
              "denomination": {
                "type": "number",
                "description": "The amount of the reward."
              },
              "currency_code": {
                "type": "string",
                "minLength": 1,
                "description": "The ISO 4217 currency code for the reward."
              }
            },
            "additionalProperties": false,
            "required": [
              "denomination"
            ],
            "description": "The monetary value of the Tremendous reward."
          },
          "recipient": {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "minLength": 1,
                "description": "The recipient name."
              },
              "email": {
                "type": "string",
                "description": "The recipient email address.",
                "format": "email"
              },
              "phone": {
                "type": "string",
                "minLength": 1,
                "description": "The recipient phone number, including country code for non-US numbers."
              }
            },
            "additionalProperties": false,
            "description": "Details of the Tremendous reward recipient."
          },
          "deliverAt": {
            "type": "string",
            "description": "The reward delivery date. Tremendous ignores time values if a date-time is sent.",
            "format": "date"
          },
          "customFields": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "minLength": 1,
                  "description": "The Tremendous custom field ID."
                },
                "value": {
                  "type": "string",
                  "description": "The custom field value."
                }
              },
              "additionalProperties": false,
              "description": "Custom data attached to the Tremendous reward."
            },
            "description": "Custom fields to attach to the reward."
          },
          "language": {
            "type": "string",
            "minLength": 1,
            "description": "The ISO 639-1 language code for the redemption experience."
          },
          "delivery": {
            "type": "object",
            "properties": {
              "method": {
                "type": "string",
                "enum": [
                  "EMAIL",
                  "LINK",
                  "PHONE"
                ],
                "description": "How Tremendous should deliver the reward."
              },
              "meta": {
                "type": "object",
                "properties": {
                  "sender_name": {
                    "type": "string",
                    "description": "The sender name used in the delivery."
                  },
                  "subject_line": {
                    "type": "string",
                    "description": "The subject line used for email delivery."
                  },
                  "message": {
                    "type": "string",
                    "description": "The message shown in the delivery and reward landing page."
                  }
                },
                "additionalProperties": true,
                "description": "Customizable Tremendous reward delivery metadata."
              }
            },
            "additionalProperties": false,
            "required": [
              "method"
            ],
            "description": "Details on how Tremendous should deliver the reward."
          }
        },
        "additionalProperties": false,
        "required": [
          "fundingSourceId",
          "value",
          "recipient"
        ],
        "description": "Input for creating one Tremendous order.",
        "anyOf": [
          {
            "required": [
              "campaignId"
            ]
          },
          {
            "required": [
              "products"
            ]
          }
        ]
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "order": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Tremendous order object."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous create order response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Tremendous order creation response."
      }
    },
    {
      "id": "tremendous.generate_reward_link",
      "service": "tremendous",
      "name": "generate_reward_link",
      "description": "Generate a redemption link for an existing Tremendous reward.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Tremendous reward ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Tremendous reward."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "reward": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Tremendous reward object."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous generate reward link response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Tremendous generated reward link response."
      }
    },
    {
      "id": "tremendous.get_campaign",
      "service": "tremendous",
      "name": "get_campaign",
      "description": "Retrieve one Tremendous campaign by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Tremendous campaign ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Tremendous campaign."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "campaign": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Tremendous campaign object."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous campaign response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Tremendous campaign response."
      }
    },
    {
      "id": "tremendous.get_funding_source",
      "service": "tremendous",
      "name": "get_funding_source",
      "description": "Retrieve one Tremendous funding source by ID, including the special BALANCE value.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Tremendous funding source ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Tremendous funding source."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "fundingSource": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Tremendous funding source object."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous funding source response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Tremendous funding source response."
      }
    },
    {
      "id": "tremendous.get_order",
      "service": "tremendous",
      "name": "get_order",
      "description": "Retrieve one Tremendous order by ID or external ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Tremendous order or external order ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Tremendous order or external order."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "order": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Tremendous order object."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous order response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Tremendous order response."
      }
    },
    {
      "id": "tremendous.get_product",
      "service": "tremendous",
      "name": "get_product",
      "description": "Retrieve one Tremendous product by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Tremendous product ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Tremendous product."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "product": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Tremendous product object."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous product response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Tremendous product response."
      }
    },
    {
      "id": "tremendous.get_reward",
      "service": "tremendous",
      "name": "get_reward",
      "description": "Retrieve one Tremendous reward by ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "minLength": 1,
            "description": "The Tremendous reward ID."
          }
        },
        "additionalProperties": false,
        "description": "Input for retrieving one Tremendous reward."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "reward": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "A Tremendous reward object."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous reward response payload."
          }
        },
        "additionalProperties": false,
        "description": "A Tremendous reward response."
      }
    },
    {
      "id": "tremendous.list_campaigns",
      "service": "tremendous",
      "name": "list_campaigns",
      "description": "List Tremendous campaigns in the current organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Tremendous campaigns."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "campaigns": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Tremendous campaign object."
            },
            "description": "The Tremendous campaigns available to this API key."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous list campaigns response payload."
          }
        },
        "additionalProperties": false,
        "description": "Tremendous campaigns returned by the API."
      }
    },
    {
      "id": "tremendous.list_funding_sources",
      "service": "tremendous",
      "name": "list_funding_sources",
      "description": "List funding sources in the current Tremendous organization.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Tremendous funding sources."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "fundingSources": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Tremendous funding source object."
            },
            "description": "The Tremendous funding sources available to this API key."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous list funding sources response payload."
          }
        },
        "additionalProperties": false,
        "description": "Tremendous funding sources returned by the API."
      }
    },
    {
      "id": "tremendous.list_orders",
      "service": "tremendous",
      "name": "list_orders",
      "description": "List Tremendous orders with optional pagination and order filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based Tremendous result offset."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The maximum number of Tremendous records to return. Tremendous caps list pages at 500."
          },
          "campaignId": {
            "type": "string",
            "minLength": 1,
            "description": "Only return orders for this Tremendous campaign ID."
          },
          "externalId": {
            "type": "string",
            "minLength": 1,
            "description": "Only return orders with this customer-supplied external ID."
          },
          "createdAtGte": {
            "type": "string",
            "description": "Only return orders created at or after this ISO 8601 timestamp.",
            "format": "date-time"
          },
          "createdAtLte": {
            "type": "string",
            "description": "Only return orders created at or before this ISO 8601 timestamp.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Tremendous orders."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "orders": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Tremendous order object."
            },
            "description": "The Tremendous orders matching the request."
          },
          "totalCount": {
            "type": "integer",
            "description": "The total number of Tremendous orders across all pages."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous list orders response payload."
          }
        },
        "additionalProperties": false,
        "description": "Tremendous orders returned by the API."
      }
    },
    {
      "id": "tremendous.list_organizations",
      "service": "tremendous",
      "name": "list_organizations",
      "description": "List the Tremendous organization tied to the current API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {},
        "additionalProperties": false,
        "description": "No input is required to list Tremendous organizations."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "organizations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Tremendous organization object."
            },
            "description": "The Tremendous organizations visible to this API key."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous list organizations response payload."
          }
        },
        "additionalProperties": false,
        "description": "Tremendous organizations returned by the API."
      }
    },
    {
      "id": "tremendous.list_products",
      "service": "tremendous",
      "name": "list_products",
      "description": "List Tremendous products with optional country, currency, and subcategory filters.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Alpha-2 country codes used to filter available products."
          },
          "currency": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated ISO 4217 currency codes used to filter available products."
          },
          "subcategory": {
            "type": "string",
            "minLength": 1,
            "description": "Comma-separated Tremendous product subcategories used to filter products."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Tremendous products."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "products": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Tremendous product object."
            },
            "description": "The Tremendous products matching the request."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous list products response payload."
          }
        },
        "additionalProperties": false,
        "description": "Tremendous products returned by the API."
      }
    },
    {
      "id": "tremendous.list_rewards",
      "service": "tremendous",
      "name": "list_rewards",
      "description": "List Tremendous rewards with optional offset pagination.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0,
            "description": "The zero-based Tremendous result offset."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "maximum": 500,
            "description": "The maximum number of Tremendous records to return. Tremendous caps list pages at 500."
          }
        },
        "additionalProperties": false,
        "description": "Input for listing Tremendous rewards."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "rewards": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true,
              "description": "A Tremendous reward object."
            },
            "description": "The Tremendous rewards matching the request."
          },
          "totalCount": {
            "type": "integer",
            "description": "The total number of Tremendous rewards across all pages."
          },
          "raw": {
            "type": "object",
            "properties": {},
            "additionalProperties": true,
            "description": "Raw Tremendous list rewards response payload."
          }
        },
        "additionalProperties": false,
        "description": "Tremendous rewards returned by the API."
      }
    }
  ]
}
