Sastrify · JSON Structure

Sastrify Saas Subscription Structure

Structure of a SaaS application subscription record in the Sastrify platform

Type: object Properties: 0
Cost OptimizationLicense ManagementProcurementSaaS ManagementSoftware SpendVendor Management

SaaSSubscription is a JSON Structure definition published by Sastrify.

Meta-schema:

JSON Structure

sastrify-saas-subscription-structure.json Raw ↑
{
  "name": "SaaSSubscription",
  "description": "Structure of a SaaS application subscription record in the Sastrify platform",
  "type": "object",
  "fields": [
    {
      "name": "id",
      "type": "string",
      "description": "Unique identifier for the subscription in Sastrify",
      "required": false,
      "example": "sub_01HXYZ1234567890"
    },
    {
      "name": "applicationName",
      "type": "string",
      "description": "Name of the SaaS application (e.g., Slack, Salesforce, Zoom)",
      "required": true,
      "example": "Salesforce"
    },
    {
      "name": "vendorName",
      "type": "string",
      "description": "Legal name of the vendor / publisher",
      "required": true,
      "example": "Salesforce, Inc."
    },
    {
      "name": "category",
      "type": "string",
      "description": "Functional category (CRM, Communication, Project Management, etc.)",
      "required": false,
      "example": "CRM"
    },
    {
      "name": "annualCost",
      "type": "number",
      "description": "Total annual spend for this subscription in contract currency",
      "required": true,
      "example": 120000
    },
    {
      "name": "currency",
      "type": "string",
      "description": "ISO 4217 currency code",
      "required": true,
      "example": "USD"
    },
    {
      "name": "licenseCount",
      "type": "integer",
      "description": "Number of provisioned licenses / seats",
      "required": true,
      "example": 200
    },
    {
      "name": "activeUsers",
      "type": "integer",
      "description": "Users active in the last 30 days",
      "required": false,
      "example": 145
    },
    {
      "name": "utilizationRate",
      "type": "number",
      "description": "Active users as percentage of total licenses (0-100)",
      "required": false,
      "example": 72.5
    },
    {
      "name": "renewalDate",
      "type": "date",
      "description": "Contract renewal date (ISO 8601 YYYY-MM-DD)",
      "required": true,
      "example": "2026-12-31"
    },
    {
      "name": "contractStartDate",
      "type": "date",
      "description": "Start date of the current contract term",
      "required": false,
      "example": "2025-01-01"
    },
    {
      "name": "paymentTerms",
      "type": "string",
      "description": "Payment schedule: Annual Prepaid, Monthly, Quarterly, Multi-Year",
      "required": false,
      "example": "Annual Prepaid"
    },
    {
      "name": "autoRenew",
      "type": "boolean",
      "description": "Whether the contract auto-renews at expiration",
      "required": false,
      "example": true
    },
    {
      "name": "contractOwner",
      "type": "string",
      "description": "Internal owner responsible for the subscription",
      "required": false,
      "example": "jane.smith@example.com"
    },
    {
      "name": "department",
      "type": "string",
      "description": "Primary business department using this tool",
      "required": false,
      "example": "Sales"
    },
    {
      "name": "benchmarkData",
      "type": "object",
      "description": "Market pricing benchmark data from Sastrify's intelligence engine",
      "required": false,
      "nestedFields": [
        {"name": "medianPricePerSeat", "type": "number", "description": "Median market price per seat/year"},
        {"name": "organizationPricePerSeat", "type": "number", "description": "Current price per seat/year"},
        {"name": "savingsOpportunity", "type": "number", "description": "Estimated annual savings potential"},
        {"name": "percentile", "type": "integer", "description": "Price percentile vs. similar companies"}
      ]
    },
    {
      "name": "discoverySource",
      "type": "string",
      "description": "How the tool was discovered: SSO Integration, Accounting Integration, Browser Extension, Manual Entry",
      "required": false,
      "example": "SSO Integration"
    },
    {
      "name": "status",
      "type": "string",
      "description": "Subscription status: Active, Pending Renewal, Cancelled, Under Review, In Negotiation",
      "required": false,
      "example": "Active"
    }
  ],
  "source": "json-schema/sastrify-saas-subscription-schema.json"
}

Work with this as data

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

MCP server

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

https://apis.io/mcp

Tools for json structure

4 MCP tools reach this
  • find_json_structuresBrowse and filter every JSON Structure in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Structure
curl "https://apis.io/api/v1/json-structures/sastrify-saas-subscription-structure"
All json structure
curl "https://apis.io/api/v1/json-structures?limit=25"

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

Get an API key

Free tier, no email required.

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