TM Forum · Schema

CharacteristicSpecification

TelecommunicationsBSSOSSOpen APIsStandardsTM Forum

Properties

Name Type Description
id string Unique ID for the characteristic
name string A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications.
valueType string A kind of value that the characteristic can take on, such as numeric, text and so forth
description string A narrative that explains the CharacteristicSpecification.
configurable boolean If true, the Boolean indicates that the target Characteristic is configurable
validFor object
minCardinality integer The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality.
maxCardinality integer The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality.
isUnique boolean Specifies if the value of this characteristic is unique across all entities instantiated from the specification that uses this characteristc. For example, consider a ProductSpecification for a set-top
regex string A rule or principle represented in regular expression used to derive the value of a characteristic value.
extensible boolean An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource.
@valueSchemaLocation string This (optional) field provides a link to the schema describing the value type.
charSpecRelationship array An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics.
characteristicValueSpecification array A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values
View JSON Schema on GitHub

JSON Schema

tm-forum-characteristicspecification-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CharacteristicSpecification",
  "title": "CharacteristicSpecification",
  "allOf": [
    {
      "$ref": "#/components/schemas/Extensible"
    },
    {
      "type": "object",
      "description": "This class defines a characteristic specification.",
      "properties": {
        "id": {
          "type": "string",
          "description": "Unique ID for the characteristic"
        },
        "name": {
          "type": "string",
          "description": "A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications."
        },
        "valueType": {
          "type": "string",
          "description": "A kind of value that the characteristic can take on, such as numeric, text and so forth"
        },
        "description": {
          "type": "string",
          "description": "A narrative that explains the CharacteristicSpecification."
        },
        "configurable": {
          "type": "boolean",
          "description": "If true, the Boolean indicates that the target Characteristic is configurable"
        },
        "validFor": {
          "$ref": "#/components/schemas/TimePeriod"
        },
        "minCardinality": {
          "type": "integer",
          "description": "The minimum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where zero is the value for the minCardinality."
        },
        "maxCardinality": {
          "type": "integer",
          "description": "The maximum number of instances a CharacteristicValue can take on. For example, zero to five phone numbers in a group calling plan, where five is the value for the maxCardinality."
        },
        "isUnique": {
          "type": "boolean",
          "description": "Specifies if the value of this characteristic is unique across all entities instantiated from the specification that uses this characteristc. For example, consider a ProductSpecification for a set-top box, with a CharacteristicSpecification cardID. Each set-top box must have a different value for cardID, so this isUnique attribute would be set to true for the characteristic."
        },
        "regex": {
          "type": "string",
          "description": "A rule or principle represented in regular expression used to derive the value of a characteristic value."
        },
        "extensible": {
          "type": "boolean",
          "description": "An indicator that specifies that the values for the characteristic can be extended by adding new values when instantiating a characteristic for a resource."
        },
        "@valueSchemaLocation": {
          "type": "string",
          "description": "This (optional) field provides a link to the schema describing the value type."
        },
        "charSpecRelationship": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CharacteristicSpecificationRelationship"
          },
          "description": "An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics."
        },
        "characteristicValueSpecification": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CharacteristicValueSpecification"
          },
          "description": "A CharacteristicValueSpecification object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a CharacteristicSpecification object. The values of the attributes in the CharacteristicValueSpecification object describe the values of the attributes that a corresponding Characteristic object can take on."
        }
      }
    }
  ],
  "discriminator": {
    "propertyName": "@type",
    "mapping": {
      "CharacteristicSpecification": "#/components/schemas/CharacteristicSpecification"
    }
  }
}

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.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/tm-forum-characteristicspecification"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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.