ZoomInfo · Schema
OrganizationOfferingUpsert
Product or Service resource for upsert operations.
B2BB2B DataCompany DataContact DatabaseContactsDataLead GenerationMarketing IntelligenceSales IntelligenceIntent DataGo-To-MarketData EnrichmentAI AgentsMCP
Properties
| Name | Type | Description |
|---|---|---|
| data | object | The primary data of the document |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/zoominfo/main/json-schema/zoominfo-organization-offering-upsert-schema.json",
"title": "OrganizationOfferingUpsert",
"description": "Product or Service resource for upsert operations.",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/zoominfo-products-and-services-api-openapi.yml#/components/schemas/OrganizationOfferingUpsert",
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"required": [
"type",
"attributes"
],
"properties": {
"id": {
"type": "string",
"description": "The unique identifier for the resource"
},
"type": {
"type": "string",
"enum": [
"OrganizationOffering"
],
"description": "The type of the resource"
},
"attributes": {
"allOf": [
{
"$ref": "#/$defs/OrganizationOfferingAttributes"
}
],
"description": "The attributes defining the resource"
},
"meta": {
"allOf": [
{
"$ref": "#/$defs/GtmConfigAuditFields"
}
],
"description": "Non-standard meta information about the resource"
}
},
"x-discriminator-property": "type",
"description": "The primary data of the document"
}
},
"$defs": {
"CustomFieldItem": {
"type": "object",
"required": [
"title",
"value"
],
"properties": {
"title": {
"type": "string",
"description": "The display title of the custom field."
},
"description": {
"type": "string",
"description": "An optional description of the field. Defaults to an empty string in the backend.",
"default": ""
},
"value": {
"type": "string",
"description": "The string value associated with this custom field."
}
},
"description": "Schema for a single custom field item."
},
"GtmConfigAuditFields": {
"type": "object",
"properties": {
"createdAt": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the record was originally created. Auto-populated by backend.",
"readOnly": true
},
"updatedAt": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp of the most recent modification to the record. Auto-populated by backend.",
"readOnly": true
},
"createdBy": {
"type": "string",
"description": "User ID of the person who created the record. Extracted from the JWT token on creation.",
"readOnly": true
},
"updatedBy": {
"type": "string",
"description": "User ID of the person who last modified the record. Extracted from the JWT token on update.",
"readOnly": true
},
"archivedAt": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 timestamp when the record was archived. Archived records are identified by archivedAt and archivedBy",
"readOnly": true
},
"archivedBy": {
"type": "string",
"description": "User ID of the person who archived the record",
"readOnly": true
}
},
"description": "Common audit fields present on all customer-level GTM configuration entities.\nThese fields track the full lifecycle of a record including creation, modification,\narchival (temporary hiding), and soft deletion (permanent hiding for compliance).\nA record can be active, deleted only, or both."
},
"GtmConfigSourceType": {
"type": "string",
"enum": [
"manual",
"import",
"system",
"mcp"
],
"description": "Source type indicating how a GTM configuration record was created or last modified.\nUsed across all customer-level entities for audit provenance tracking.\nWhen source is explicitly set in a request, the corresponding created_by/updated_by must also be provided.\nDefaults to 'manual' when not specified.",
"x-enumDescriptions": {
"MANUAL": "Created or updated manually by a user through the GTM Studio UI.",
"IMPORT": "Imported from an external data source such as CRM or CSV upload.",
"SYSTEM": "Generated automatically by the platform (e.g., system enrichment or background jobs).",
"MCP": "Created or updated via the GTM Config MCP integration by an AI agent."
}
},
"OrganizationOfferingAttributes": {
"type": "object",
"properties": {
"name": {
"type": "string",
"minLength": 1,
"maxLength": 1024,
"description": "Name of the Product or Service. Required when creating a new record. When provided (for create or update), must be between 1 and 1024 characters."
},
"description": {
"type": "string",
"maxLength": 10000,
"description": "Detailed description of the Product or Service, including its purpose, target audience, and key benefits. Maximum 10,000 characters."
},
"painPoints": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Customer pain points this Product or Service addresses."
},
"valueProposition": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Value propositions as articulated by the customer — the key reasons a buyer should choose this Product or Service."
},
"proofPoints": {
"type": "array",
"items": {
"type": "string"
},
"maxItems": 100,
"description": "Reviews, testimonials, or case-study references that validate the Product or Service's effectiveness."
},
"url": {
"type": "string",
"format": "uri",
"description": "URL of the Product or Service's webpage or landing page. Maximum 1024 characters."
},
"competitors": {
"type": "string",
"maxLength": 10000,
"description": "Text description of competitor information relevant to this specific Product or Service. Maximum 10,000 characters."
},
"idealCompanySegment": {
"type": "string",
"maxLength": 10000,
"description": "Text description of the ideal company segment for this Product or Service. Maximum 10,000 characters."
},
"offeringBuyerPersonas": {
"type": "string",
"maxLength": 10000,
"description": "Text description of the buyer personas relevant to this Product or Service. Maximum 10,000 characters."
},
"source": {
"allOf": [
{
"$ref": "#/$defs/GtmConfigSourceType"
}
],
"description": "Source type indicating how this Product or Service record was created or last modified. Defaults to `manual`. See `GtmConfigSourceType` for allowed values. When set explicitly, the backend validates source consistency with the `created_by` and `updated_by` fields.",
"readOnly": true
},
"customFields": {
"type": "array",
"items": {
"$ref": "#/$defs/CustomFieldItem"
},
"description": "Flexible key-value store for customer-specific custom fields and extended metadata. The backend validates schema and value types. Use this to capture additional Product or Service details beyond the standard fields."
}
},
"description": "Attributes that define a Product or Service — the discrete products or services provided by a customer's company.\n\nProducts or services form the foundation of a customer's go-to-market configuration, capturing the essential strategic context of a product. \nA product or service serves as a centralized record for:\n\n* Product Positioning: Capturing how the product is uniquely situated in the market.\n* Targeting: Identifying the specific audiences, industries, or company types the product is intended for.\n* Pain Point Resolution: Documenting the specific customer problems or challenges the product or service is designed to address.\n* Value Proposition: Defining the core benefits and outcomes the product or service provides to the customer.\n\nCollectively, these attributes provide the necessary framework to build a complete GTM picture. The product or service acts as the \nprimary anchor to which Buyer Personas, Ideal Customer Profiles, and Competitive Intelligence are linked, ensuring all \nrevenue-generating activities are aligned with the product's strategic intent."
}
}
}
Work with this as data
Every JSON Schema 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 schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema 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.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/zoominfo-organization-offering-upsert"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.