TM Forum agreement API

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

Operations 5

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

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-agreement-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-agreement-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Management Agreement API
  description: This is Swagger UI environment generated for the TMF Agreement Management specification
  version: 4.0.0
servers:
- url: https://serverRoot/tmf-api/agreementManagement/v4/
tags:
- name: agreement
paths:
  /agreement:
    get:
      operationId: listAgreement
      summary: List or find Agreement objects
      description: This operation list or find Agreement entities
      tags:
      - agreement
      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/Agreement'
        '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: createAgreement
      summary: Creates a Agreement
      description: This operation creates a Agreement entity.
      tags:
      - agreement
      responses:
        '201':
          description: Created
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Agreement'
        '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/Agreement_Create'
        description: The Agreement to be created
        required: true
  /agreement/{id}:
    get:
      operationId: retrieveAgreement
      summary: Retrieves a Agreement by ID
      description: This operation retrieves a Agreement entity. Attribute selection is enabled for all first level attributes.
      tags:
      - agreement
      parameters:
      - name: id
        description: Identifier of the Agreement
        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/Agreement'
        '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: patchAgreement
      summary: Updates partially a Agreement
      description: This operation updates partially a Agreement entity.
      tags:
      - agreement
      parameters:
      - name: id
        description: Identifier of the Agreement
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Updated
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/Agreement'
        '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/Agreement_Update'
        description: The Agreement to be updated
        required: true
    delete:
      operationId: deleteAgreement
      summary: Deletes a Agreement
      description: This operation deletes a Agreement entity.
      tags:
      - agreement
      parameters:
      - name: id
        description: Identifier of the Agreement
        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:
    Agreement:
      type: object
      description: An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.
      required:
      - agreementItem
      - agreementType
      - engagedParty
      - name
      properties:
        id:
          type: string
          description: Unique identifier for the agreement
        href:
          type: string
          description: Unique url identifying the agreement as a resource
        agreementType:
          type: string
          description: The type of the agreement. For example commercial
        description:
          type: string
          description: Narrative that explains the agreement and details about the it , such as why the agreement is taking place.
        documentNumber:
          type: integer
          description: A reference number assigned to an Agreement that follows a prescribed numbering system.
        initialDate:
          type: string
          format: date-time
          description: Date at which the agreement was initialized
        name:
          type: string
          description: A human-readable name for the agreement
        statementOfIntent:
          type: string
          description: An overview and goals of the Agreement
        status:
          type: string
          description: 'The current status of the agreement. Typical values are: in process, approved and rejected'
        version:
          type: string
          description: A string identifying the version of the agreement
        agreementAuthorization:
          type: array
          items:
            $ref: '#/components/schemas/AgreementAuthorization'
        agreementItem:
          type: array
          items:
            $ref: '#/components/schemas/AgreementItem'
          minItems: 1
        agreementPeriod:
          $ref: '#/components/schemas/TimePeriod'
          description: The time period during which the Agreement is in effect.
        agreementSpecification:
          $ref: '#/components/schemas/AgreementSpecificationRef'
        associatedAgreement:
          type: array
          items:
            $ref: '#/components/schemas/AgreementRef'
        characteristic:
          type: array
          items:
            $ref: '#/components/schemas/Characteristic'
        completionDate:
          $ref: '#/components/schemas/TimePeriod'
          description: Date at which the agreement is completed
        engagedParty:
          type: array
          items:
            $ref: '#/components/schemas/RelatedParty'
          minItems: 1
        '@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
    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.
    ProductOfferingRef:
      type: object
      description: ProductOffering reference. A product offering represents entities that are orderable from the provider of the catalog, this resource includes pricing information.
      properties:
        id:
          type: string
          description: Unique identifier of a related entity.
        href:
          type: string
          description: Reference of the related entity.
        name:
          type: string
          description: Name of the related entity.
        '@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.
      required:
      - id
    Any: {}
    Agreement_Update:
      type: object
      description: 'An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.

        Skipped properties: id,href,completionDate'
      required:
      - agreementItem
      - agreementType
      - engagedParty
      - name
      properties:
        agreementType:
          type: string
          description: The type of the agreement. For example commercial
        description:
          type: string
          description: Narrative that explains the agreement and details about the it , such as why the agreement is taking place.
        documentNumber:
          type: integer
          description: A reference number assigned to an Agreement that follows a prescribed numbering system.
        initialDate:
          type: string
          format: date-time
          description: Date at which the agreement was initialized
        name:
          type: string
          description: A human-readable name for the agreement
        statementOfIntent:
          type: string
          description: An overview and goals of the Agreement
        status:
          type: string
          description: 'The current status of the agreement. Typical values are: in process, approved and rejected'
        version:
          type: string
          description: A string identifying the version of the agreement
        agreementAuthorization:
          type: array
          items:
            $ref: '#/components/schemas/AgreementAuthorization'
        agreementItem:
          type: array
          items:
            $ref: '#/components/schemas/AgreementItem'
          minItems: 1
        agreementPeriod:
          $ref: '#/components/schemas/TimePeriod'
          description: The time period during which the Agreement is in effect.
        agreementSpecification:
          $ref: '#/components/schemas/AgreementSpecificationRef'
        associatedAgreement:
          type: array
          items:
            $ref: '#/components/schemas/AgreementRef'
        characteristic:
          type: array
          items:
            $ref: '#/components/schemas/Characteristic'
        engagedParty:
          type: array
          items:
            $ref: '#/components/schemas/RelatedParty'
          minItems: 1
        '@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
    Agreement_Create:
      type: object
      description: 'An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.

        Skipped properties: id,href'
      required:
      - agreementItem
      - agreementType
      - engagedParty
      - name
      properties:
        agreementType:
          type: string
          description: The type of the agreement. For example commercial
        description:
          type: string
          description: Narrative that explains the agreement and details about the it , such as why the agreement is taking place.
        documentNumber:
          type: integer
          description: A reference number assigned to an Agreement that follows a prescribed numbering system.
        initialDate:
          type: string
          format: date-time
          description: Date at which the agreement was initialized
        name:
          type: string
          description: A human-readable name for the agreement
        statementOfIntent:
          type: string
          description: An overview and goals of the Agreement
        status:
          type: string
          description: 'The current status of the agreement. Typical values are: in process, approved and rejected'
        version:
          type: string
          description: A string identifying the version of the agreement
        agreementAuthorization:
          type: array
          items:
            $ref: '#/components/schemas/AgreementAuthorization'
        agreementItem:
          type: array
          items:
            $ref: '#/components/schemas/AgreementItem'
          minItems: 1
        agreementPeriod:
          $ref: '#/components/schemas/TimePeriod'
          description: The time period during which the Agreement is in effect.
        agreementSpecification:
          $ref: '#/components/schemas/AgreementSpecificationRef'
        associatedAgreement:
          type: array
          items:
            $ref: '#/components/schemas/AgreementRef'
        characteristic:
          type: array
          items:
            $ref: '#/components/schemas/Characteristic'
        completionDate:
          $ref: '#/components/schemas/TimePeriod'
          description: Date at which the agreement is completed
        engagedParty:
          type: array
          items:
            $ref: '#/components/schemas/RelatedParty'
          minItems: 1
        '@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
    Characteristic:
      type: object
      description: Describes a given characteristic of an object or entity through a name/value pair.
      required:
      - name
      - value
      properties:
        name:
          type: string
          description: Name of the characteristic
        valueType:
          type: string
          description: Data type of the value of the characteristic
        value:
          $ref: '#/components/schemas/Any'
          description: The value of the characteristic
        '@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
    AgreementRef:
      type: object
      description: Agreement reference. An agreement represents a contract or arrangement, either written or verbal and sometimes enforceable by law, such as a service level agreement or a customer price agreement. An agreement involves a number of other business entities, such as products, services, and resources and/or their specifications.
      properties:
        id:
          type: string
          description: Unique identifier of a related entity.
        href:
          type: string
          description: Reference of the related entity.
        name:
          type: string
          description: Name of the agreement
        '@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.
      required:
      - id
    AgreementSpecificationRef:
      type: object
      description: AgreementSpecification reference. An AgreementSpecification represents a template of an agreement that can be used when establishing partnerships.
      properties:
        id:
          type: string
          description: Unique identifier of a related entity.
        href:
          type: string
          description: Reference of the related entity.
        description:
          type: string
          description: A narrative that explains in detail what the agreement specification is about.
        name:
          type: string
          description: Name of the agreement specification
        '@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.
      required:
      - id
    ProductRef:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier of a related entity.
        href:
          type: string
          description: Reference of the related entity.
        name:
          type: string
          description: Name of the related entity.
        '@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.
      required:
      - id
    AgreementAuthorization:
      type: object
      description: A business participant that is responsible for approving the agreement.
      properties:
        date:
          type: string
          format: date-time
          description: The date associated with the authorization state.
        signatureRepresentation:
          type: string
          description: Indication that represents whether the signature is a physical paper signature or a digital signature.
        state:
          type: string
          description: Current status of the authorization, for example in process, approved, rejected.
        '@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
    AgreementItem:
      type: object
      description: A part of the agreement expressed in terms of a product offering and possibly including specific terms and conditions.
      properties:
        product:
          type: array
          items:
            $ref: '#/components/schemas/ProductRef'
          description: The list of products indirectly referred by this agreement item (since an agreement item refers primarily to product offerings)
        productOffering:
          type: array
          items:
            $ref: '#/components/schemas/ProductOfferingRef'
          description: The list of product offerings referred by this agreement item
        termOrCondition:
          type: array
          items:
            $ref: '#/components/schemas/AgreementTermOrCondition'
        '@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
    AgreementTermOrCondition:
      type: object
      description: Aspects of the agreement not formally specified elsewhere in the agreement and that cannot be captured elsewhere in a formal notation, or automatically monitored and require a more human level of management.
      properties:
        id:
          type: string
          description: Unique number assigned for reference.
        description:
          type: string
          description: Text that explains the term or condition of the agreement.
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: The period of time during which the term or condition of the agreement applies.
        '@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
    RelatedParty:
      type: object
      description: Related Entity reference. A related party defines party or party role linked to a specific entity.
      required:
      - '@referredType'
      - id
      - name
      properties:
        id:
          type: string
          description: Unique identifier of a related entity.
        href:
          type: string
          description: Reference of the related entity.
        name:
          type: string
          description: Name of the related entity.
        role:
          type: string
          description: Role played by the related party
        '@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.