TM Forum resourceSpecification API

The resourceSpecification API from TM Forum — 2 operation(s) for resourcespecification.

Operations 5

GET /resourceSpecification List or find ResourceSpecification objects #
POST /resourceSpecification Creates a ResourceSpecification #
GET /resourceSpecification/{id} Retrieves a ResourceSpecification by ID #
PATCH /resourceSpecification/{id} Updates partially a ResourceSpecification #
DELETE /resourceSpecification/{id} Deletes a ResourceSpecification #

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/tm-forum-resourcespecification-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

tm-forum-resourcespecification-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Resource Catalog Management Resource Specification API
  description: "## TMF API Reference: TMF634 - Resource Catalog Management\n\n### Release : 19.0 - June 2019\n\nResource Catalog API is one of Catalog Management API Family. Resource Catalog API goal is to provide a catalog of resources. \n\n### Operations\nResource Catalog API performs the following operations on the resources :\n- Retrieve an entity or a collection of entities depending on filter criteria\n- Partial update of an entity (including updating rules)\n- Create an entity (including default values and creation rules)\n- Delete an entity\n- Manage notification of events"
  version: 4.0.0
servers:
- url: https://serverRoot/tmf-api/resourceCatalog/v4/
tags:
- name: resourceSpecification
paths:
  /resourceSpecification:
    get:
      operationId: listResourceSpecification
      summary: List or find ResourceSpecification objects
      description: This operation list or find ResourceSpecification entities
      tags:
      - resourceSpecification
      parameters:
      - name: fields
        description: Comma-separated properties to be provided in response
        required: false
        in: query
        schema:
          type: string
      - name: offset
        description: Requested index for start of resources to be provided in response
        required: false
        in: query
        schema:
          type: integer
      - name: limit
        description: Requested number of resources to be provided in response
        required: false
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Success
          headers:
            X-Result-Count:
              description: Actual number of items returned in the response body
              schema:
                type: integer
            X-Total-Count:
              description: Total number of items matching criteria
              schema:
                type: integer
          content:
            application/json;charset=utf-8:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/ResourceSpecification'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
    post:
      operationId: createResourceSpecification
      summary: Creates a ResourceSpecification
      description: This operation creates a ResourceSpecification entity.
      tags:
      - resourceSpecification
      responses:
        '201':
          description: Created
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ResourceSpecification'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/ResourceSpecification_Create'
        description: The ResourceSpecification to be created
        required: true
  /resourceSpecification/{id}:
    get:
      operationId: retrieveResourceSpecification
      summary: Retrieves a ResourceSpecification by ID
      description: This operation retrieves a ResourceSpecification entity. Attribute selection is enabled for all first level attributes.
      tags:
      - resourceSpecification
      parameters:
      - name: id
        description: Identifier of the ResourceSpecification
        required: true
        in: path
        schema:
          type: string
      - name: fields
        description: Comma-separated properties to provide in response
        required: false
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ResourceSpecification'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
    patch:
      operationId: patchResourceSpecification
      summary: Updates partially a ResourceSpecification
      description: This operation updates partially a ResourceSpecification entity.
      tags:
      - resourceSpecification
      parameters:
      - name: id
        description: Identifier of the ResourceSpecification
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Updated
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/ResourceSpecification'
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json;charset=utf-8:
            schema:
              $ref: '#/components/schemas/ResourceSpecification_Update'
        description: The ResourceSpecification to be updated
        required: true
    delete:
      operationId: deleteResourceSpecification
      summary: Deletes a ResourceSpecification
      description: This operation deletes a ResourceSpecification entity.
      tags:
      - resourceSpecification
      parameters:
      - name: id
        description: Identifier of the ResourceSpecification
        required: true
        in: path
        schema:
          type: string
      responses:
        '204':
          description: Deleted
        '400':
          description: Bad Request
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not Found
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '405':
          description: Method Not allowed
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Conflict
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal Server Error
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Quantity:
      type: object
      description: An amount in a given unit
      properties:
        amount:
          default: 1
          type: number
          format: float
          description: Numeric value in a given unit
        units:
          type: string
          description: Unit
    Error:
      description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)
      type: object
      required:
      - code
      - reason
      properties:
        code:
          type: string
          description: Application relevant detail, defined in the API or a common list.
        reason:
          type: string
          description: Explanation of the reason for the error which can be shown to a client user.
        message:
          type: string
          description: More details and corrective actions related to the error which can be shown to a client user.
        status:
          type: string
          description: HTTP Error code extension
        referenceError:
          type: string
          format: uri
          description: URI of documentation describing the error.
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class.
        '@schemaLocation':
          type: string
          format: uri
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class entity name.
    ResourceSpecificationCharacteristic:
      type: object
      description: 'This class defines the characteristic features of a resource specification. Every ResourceSpecification has a variety of important attributes, methods, constraints, and

        relationships, which distinguish a resource specification from other resource specifications.'
      properties:
        id:
          type: string
          description: Unique ID for the characteristic
        configurable:
          type: boolean
          description: If true, the Boolean indicates that the ResourceSpecCharacteristic is configurable
        description:
          type: string
          description: A narrative that explains the CharacteristicSpecification.
        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.
        isUnique:
          type: boolean
          description: An indicator that specifies if a value is unique for the specification. Possible values are; "unique while value is in effect" and "unique whether value is in effect or not"
        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.
        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.
        name:
          type: string
          description: A word, term, or phrase by which this characteristic specification is known and distinguished from other characteristic specifications.
        regex:
          type: string
          description: A rule or principle represented in regular expression used to derive the value of a characteristic value.
        valueType:
          type: string
          description: A kind of value that the characteristic can take on, such as numeric, text and so forth
        resourceSpecCharRelationship:
          type: array
          items:
            $ref: '#/components/schemas/ResourceSpecificationCharacteristicRelationship'
          description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among Specification Characteristics.
        resourceSpecCharacteristicValue:
          type: array
          items:
            $ref: '#/components/schemas/ResourceSpecificationCharacteristicValue'
          description: A ResourceSpecificationCharacteristicValue object is used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a ResourceSpecificationCharacteristic object. The values of the attributes in the ResourceSpecificationCharacteristicValue object describe the values of the attributes that a corresponding ResourceSpecificationCharacteristic object can take on.
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: The period of time for which a characteristic is applicable.
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class
        '@schemaLocation':
          type: string
          format: uri
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class entity name
        '@valueSchemaLocation':
          type: string
          description: This (optional) field provides a link to the schema describing the value type.
    FeatureSpecificationRelationship:
      type: object
      description: Configuration feature
      required:
      - name
      - relationshipType
      properties:
        featureId:
          type: string
          description: Unique identifier of the target feature specification.
        name:
          type: string
          description: This is the name of the target feature specification.
        relationshipType:
          type: string
          description: This is the type of the feature specification relationship.
        resourceSpecificationHref:
          type: string
          description: Hyperlink reference to the resource specification containing the target feature
        resourceSpecificationId:
          type: string
          description: Unique identifier of the resource specification containing the target feature
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: The period for which this feature spoecification relationship is valid.
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class
        '@schemaLocation':
          type: string
          format: uri
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class entity name
    TimePeriod:
      type: object
      description: A period of time, either as a deadline (endDateTime only) a startDateTime only, or both
      properties:
        endDateTime:
          type: string
          format: date-time
          description: End of the time period, using IETC-RFC-3339 format
        startDateTime:
          type: string
          format: date-time
          description: Start of the time period, using IETC-RFC-3339 format. If you define a start, you must also define an end
    ResourceSpecification_Create:
      type: object
      description: 'Resources are physical or non-physical components (or some combination of these) within an enterprise''s infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.

        A ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.

        Skipped properties: id,href'
      required:
      - name
      properties:
        category:
          type: string
          description: Category of the target resource like NetworkConnectivity, PhysicalLinks, Generic, L2Network and so on.
        description:
          type: string
          description: Description of this REST resource
        isBundle:
          type: boolean
          description: A flag indicates that if this resource specification is a bundled specification (true) or single (false).
        lastUpdate:
          type: string
          format: date-time
          description: Date and time of the last update of this REST resource
        lifecycleStatus:
          type: string
          description: Used to indicate the current lifecycle status of the resource specification
        name:
          type: string
          description: Name given to this REST resource
        version:
          type: string
          description: Resource Specification version
        attachment:
          type: array
          items:
            $ref: '#/components/schemas/AttachmentRefOrValue'
          description: Complements the description of an element (for instance a resource) through video, pictures ...
        featureSpecification:
          type: array
          items:
            $ref: '#/components/schemas/FeatureSpecification'
          description: A list of Features for this specification.
        relatedParty:
          type: array
          items:
            $ref: '#/components/schemas/RelatedParty'
          description: A related party defines party or party role linked to a specific entity.
        resourceSpecCharacteristic:
          type: array
          items:
            $ref: '#/components/schemas/ResourceSpecificationCharacteristic'
          description: A characteristic quality or distinctive feature of a ResourceSpecification.  The characteristic can be take on a discrete value, such as color, can take on a range of values, (for example, sensitivity of 100-240 mV), or can be derived from a formula (for example, usage time (hrs) = 30 - talk time *3). Certain characteristics, such as color, may be configured during the ordering or some other process.
        resourceSpecRelationship:
          type: array
          items:
            $ref: '#/components/schemas/ResourceSpecificationRelationship'
          description: A migration, substitution, dependency or exclusivity relationship between/among resource specifications.
        targetResourceSchema:
          $ref: '#/components/schemas/TargetResourceSchema'
          description: A target resource schema reference. The reference object to the schema and type of target resource which is described by resource specification.
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: The period for which this REST resource is valid
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class
        '@schemaLocation':
          type: string
          format: uri
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class entity name
    FeatureSpecificationCharacteristic:
      type: object
      description: Configuration feature characteristic specification.
      required:
      - name
      properties:
        configurable:
          type: boolean
          description: True is the feature is configurable.
        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 feature.
        isUnique:
          type: boolean
          description: An indicator that specifies if a value is unique for the specification.
        maxCardinality:
          type: integer
          description: The maximum number of instances a CharacteristicValue can take on.
        minCardinality:
          type: integer
          description: The minimum number of instances a CharacteristicValue can take on.
        name:
          type: string
          description: This is the name for the feature charateristic.
        regex:
          type: string
          description: A rule or principle represented in regular expression used to derive the value of a characteristic value.
        valueType:
          type: string
          description: A kind of value that the characteristic can take on.
        featureSpecCharRelationship:
          type: array
          items:
            $ref: '#/components/schemas/FeatureSpecificationCharacteristicRelationship'
          description: An aggregation, migration, substitution, dependency or exclusivity relationship between/among feature characteristics.
        featureSpecCharacteristicValue:
          type: array
          items:
            $ref: '#/components/schemas/FeatureSpecificationCharacteristicValue'
          description: Used to define a set of attributes, each of which can be assigned to a corresponding set of attributes in a FeatureCharacteristic object.
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: The period of time for which a characteristic is applicable.
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class
        '@schemaLocation':
          type: string
          format: uri
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class entity name
        '@valueSchemaLocation':
          type: string
          description: This (optional) field provides a link to the schema describing the value type.
    AttachmentRefOrValue:
      type: object
      description: An attachment by value or by reference. For AttachmentRefOrValue, the attribute type,schemaLocation and referredType are related to the contained entity and not to AttchmentRefOrValue itself
      properties:
        id:
          type: string
          description: Unique identifier for this particular attachment
        href:
          type: string
          description: URI for this Attachment
        attachmentType:
          type: string
          description: Attachment type such as video, picture
        content:
          type: string
          description: The actual contents of the attachment object, if embedded, encoded as base64
        description:
          type: string
          description: A narrative text describing the content of the attachment
        mimeType:
          type: string
          description: Attachment mime type such as extension file for video, picture and document
        name:
          type: string
          description: The name of the attachment
        url:
          type: string
          description: Uniform Resource Locator, is a web page address (a subset of URI)
        size:
          $ref: '#/components/schemas/Quantity'
          description: The size of the attachment.
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: The period of time for which the attachment is valid
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class
        '@schemaLocation':
          type: string
          format: uri
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class entity name
        '@referredType':
          type: string
          description: The actual type of the target instance when needed for disambiguation.
    ResourceSpecificationRelationship:
      type: object
      description: A migration, substitution, dependency or exclusivity relationship between/among resource specifications.
      properties:
        id:
          type: string
          description: Unique identifier of target ResourceSpecification
        href:
          type: string
          description: Reference of the target ResourceSpecification
        defaultQuantity:
          type: integer
          description: The default number of the related resource that should be instantiated, for example a rack would typically have 4 cards, although it could support more.
        maximumQuantity:
          type: integer
          description: The maximum number of the related resource that should be instantiated, for example a rack supports a maximum of 16 cards
        minimumQuantity:
          type: integer
          description: The minimum number of the related resource that should be instantiated, for example a rack must have at least 1 card
        name:
          type: string
          description: The name given to the target resource specification instance
        relationshipType:
          type: string
          description: Type of relationship such as migration, substitution, dependency, exclusivity
        role:
          type: string
          description: The association role for this resource specification
        characteristic:
          type: array
          items:
            $ref: '#/components/schemas/ResourceSpecificationCharacteristic'
          description: A characteristic that refines the relationship. For example, consider the relationship between a slot and a card. For a half-height card it is important to know the position at which the card is inserted, so a characteristic Position might be defined on the relationship to allow capturing of this in the inventory
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: The period for which the ResourceSpecRelationship is valid
        '@baseType':
          type: string
          description: When sub-classing, this defines the super-class
        '@schemaLocation':
          type: string
          format: uri
          description: A URI to a JSON-Schema file that defines additional attributes and relationships
        '@type':
          type: string
          description: When sub-classing, this defines the sub-class entity name
    ResourceSpecification_Update:
      type: object
      description: 'Resources are physical or non-physical components (or some combination of these) within an enterprise''s infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.

        A ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.

        Skipped properties: id,href'
      properties:
        category:
          type: string
          description: Category of the target resource like NetworkConnectivity, PhysicalLinks, Generic, L2Network and so on.
        description:
          type: string
          description: Description of this REST resource
        isBundle:
          type: boolean
          description: A flag indicates that if this resource specification is a bundled specification (true) or single (false).
        lastUpdate:
          type: string
          format: date-time
          description: Date and time of the last update of this REST resource
        lifecycleStatus:
          type: string
          description: Used to indicate the current lifecycle status of the resource specification
        name:
          type: string
          description: Name given to this REST resource
        version:
          type: string
          description: Resource Specification version
        attachment:
          type: array
          items:
            $ref: '#/components/schemas/AttachmentRefOrValue'
          description: Complements the description of an element (for instance a resource) through video, pictures ...
        featureSpecification:
          type: array
          items:
            $ref: '#/components/schemas/FeatureSpecification'
          description: A list of Features for this specification.
        relatedParty:
          type: array
          items:
            $ref: '#/components/schemas/RelatedParty'
          description: A related party defines party or party role linked to a specific enti

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/tm-forum/refs/heads/main/openapi/tm-forum-resourcespecification-api-openapi.yml