TM Forum billingAccount API

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

Operations 5

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

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-billingaccount-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-billingaccount-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Account Management Billing Account API
  description: This is Swagger UI environment generated for the TMF Account Management specification
  version: 4.0.0
servers:
- url: https://serverRoot/tmf-api/accountManagement/v4/
tags:
- name: billingAccount
paths:
  /billingAccount:
    get:
      operationId: listBillingAccount
      summary: List or find BillingAccount objects
      description: This operation list or find BillingAccount entities
      tags:
      - billingAccount
      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/BillingAccount'
        '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: createBillingAccount
      summary: Creates a BillingAccount
      description: This operation creates a BillingAccount entity.
      tags:
      - billingAccount
      responses:
        '201':
          description: Created
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/BillingAccount'
        '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/BillingAccount_Create'
        description: The BillingAccount to be created
        required: true
  /billingAccount/{id}:
    get:
      operationId: retrieveBillingAccount
      summary: Retrieves a BillingAccount by ID
      description: This operation retrieves a BillingAccount entity. Attribute selection is enabled for all first level attributes.
      tags:
      - billingAccount
      parameters:
      - name: id
        description: Identifier of the BillingAccount
        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/BillingAccount'
        '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: patchBillingAccount
      summary: Updates partially a BillingAccount
      description: This operation updates partially a BillingAccount entity.
      tags:
      - billingAccount
      parameters:
      - name: id
        description: Identifier of the BillingAccount
        required: true
        in: path
        schema:
          type: string
      responses:
        '200':
          description: Updated
          content:
            application/json;charset=utf-8:
              schema:
                $ref: '#/components/schemas/BillingAccount'
        '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/BillingAccount_Update'
        description: The BillingAccount to be updated
        required: true
    delete:
      operationId: deleteBillingAccount
      summary: Deletes a BillingAccount
      description: This operation deletes a BillingAccount entity.
      tags:
      - billingAccount
      parameters:
      - name: id
        description: Identifier of the BillingAccount
        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:
    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.
    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
    BillingAccount_Update:
      type: object
      description: 'A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.

        Skipped properties: id,href,accountBalance'
      required:
      - name
      - relatedParty
      properties:
        accountType:
          type: string
          description: 'A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values.'
        description:
          type: string
          description: Detailed description of the party account
        lastModified:
          type: string
          format: date-time
          description: Date of last modification of the account
        name:
          type: string
          description: Name of the account
        paymentStatus:
          type: string
          description: The condition of the account, such as due, paid, in arrears.
        state:
          type: string
          description: 'Contains the lifecycle state such as: Active, Closed, Suspended and so on.'
        accountRelationship:
          type: array
          items:
            $ref: '#/components/schemas/AccountRelationship'
        billStructure:
          $ref: '#/components/schemas/BillStructure'
        contact:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
        creditLimit:
          $ref: '#/components/schemas/Money'
          description: The maximum amount of money that may be charged on an account
        defaultPaymentMethod:
          $ref: '#/components/schemas/PaymentMethodRef'
        financialAccount:
          $ref: '#/components/schemas/FinancialAccountRef'
        paymentPlan:
          type: array
          items:
            $ref: '#/components/schemas/PaymentPlan'
        relatedParty:
          type: array
          items:
            $ref: '#/components/schemas/RelatedParty'
          minItems: 1
        taxExemption:
          type: array
          items:
            $ref: '#/components/schemas/AccountTaxExemption'
        '@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
    BillStructure:
      type: object
      description: The structure of the bill for party accounts (billing or settlement).
      properties:
        cycleSpecification:
          $ref: '#/components/schemas/BillingCycleSpecificationRefOrValue'
        format:
          $ref: '#/components/schemas/BillFormatRefOrValue'
        presentationMedia:
          type: array
          items:
            $ref: '#/components/schemas/BillPresentationMediaRefOrValue'
        '@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
    ContactMedium:
      type: object
      description: Indicates the contact medium that could be used to contact the party.
      properties:
        mediumType:
          type: string
          description: 'Type of the contact medium, such as: email address, telephone number, postal address'
        preferred:
          type: boolean
          description: If true, indicates that is the preferred contact medium
        characteristic:
          $ref: '#/components/schemas/MediumCharacteristic'
          description: Any additional characteristic(s) of this contact medium
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: The time period that the contact medium is valid for
        '@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
    AccountTaxExemption:
      type: object
      description: Proof of freedom from taxes imposed by a taxing jurisdiction
      required:
      - issuingJurisdiction
      - validFor
      properties:
        certificateNumber:
          type: string
          description: Identifier of a document that shows proof of exemption from taxes for the taxing jurisdiction
        issuingJurisdiction:
          type: string
          description: Name of the taxing jurisdiction for which taxes are exempt
        reason:
          type: string
          description: Reason of the tax exemption
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: Period for which the exemption 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
    MediumCharacteristic:
      type: object
      description: Describes the contact medium characteristics that could be used to contact a party (an individual or an organization)
      properties:
        city:
          type: string
          description: The city
        contactType:
          type: string
          description: 'The type of contact, for example: phone number such as mobile, fixed home, fixed office. postal address such as shipping instalation…'
        country:
          type: string
          description: The country
        emailAddress:
          type: string
          description: Full email address in standard format
        faxNumber:
          type: string
          description: The fax number of the contact
        phoneNumber:
          type: string
          description: The primary phone number of the contact
        postCode:
          type: string
          description: Postcode
        socialNetworkId:
          type: string
          description: Identifier as a member of a social network
        stateOrProvince:
          type: string
          description: State or province
        street1:
          type: string
          description: Describes the street
        street2:
          type: string
          description: Complementary street description
        '@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
    BillFormatRefOrValue:
      type: object
      description: An attachment by value or by reference.
      required:
      - name
      - isRef
      properties:
        id:
          type: string
          description: Unique identifier of the bill format
        href:
          type: string
          description: Reference of the bill format
        description:
          type: string
          description: An explanatory text for this bill format
        isRef:
          default: true
          type: boolean
        name:
          type: string
          description: A short descriptive name
        '@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.
    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.
    AccountRef:
      type: object
      description: Account reference. A account may be a party account or a financial account.
      properties:
        id:
          type: string
          description: Unique identifier of the account
        href:
          type: string
          description: Reference of the account
        description:
          type: string
          description: Detailed description of the account
        name:
          type: string
          description: Name of the account
        '@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
    PaymentMethodRef:
      type: object
      description: PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit).
      properties:
        id:
          type: string
          description: Unique identifier of the payment mean
        href:
          type: string
          description: Reference of the payment mean
        name:
          type: string
          description: Name of the payment mean
        '@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
    Money:
      type: object
      description: A base / value business entity used to represent money
      properties:
        unit:
          type: string
          description: Currency (ISO4217 norm uses 3 letters to define the currency)
        value:
          type: number
          format: float
          description: A positive floating point number
    BillPresentationMediaRefOrValue:
      type: object
      description: An attachment by value or by reference.
      required:
      - name
      - isRef
      properties:
        id:
          type: string
          description: Unique identifier of the bill presentation media
        href:
          type: string
          description: Reference of the bill presentation media
        description:
          type: string
          description: An explanatory text describing this bill presentation media
        isRef:
          default: true
          type: boolean
        name:
          type: string
          description: A short descriptive name
        '@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.
    BillingAccount:
      type: object
      description: A party account used for billing purposes. It includes a description of the bill structure (frequency, presentation media, format and so on). It is a specialization of entity PartyAccount.
      required:
      - name
      - relatedParty
      properties:
        id:
          type: string
          description: Unique identifier of the account
        href:
          type: string
          description: Unique reference of the account
        accountType:
          type: string
          description: 'A categorization of an account, such as individual, joint, and so forth, whose instances share some of the same characteristics. Note: for flexibility we use a String here but an implementation may use an enumeration with a limited list of valid values.'
        description:
          type: string
          description: Detailed description of the party account
        lastModified:
          type: string
          format: date-time
          description: Date of last modification of the account
        name:
          type: string
          description: Name of the account
        paymentStatus:
          type: string
          description: The condition of the account, such as due, paid, in arrears.
        state:
          type: string
          description: 'Contains the lifecycle state such as: Active, Closed, Suspended and so on.'
        accountBalance:
          type: array
          items:
            $ref: '#/components/schemas/AccountBalance'
        accountRelationship:
          type: array
          items:
            $ref: '#/components/schemas/AccountRelationship'
        billStructure:
          $ref: '#/components/schemas/BillStructure'
        contact:
          type: array
          items:
            $ref: '#/components/schemas/Contact'
        creditLimit:
          $ref: '#/components/schemas/Money'
          description: The maximum amount of money that may be charged on an account
        defaultPaymentMethod:
          $ref: '#/components/schemas/PaymentMethodRef'
        financialAccount:
          $ref: '#/components/schemas/FinancialAccountRef'
        paymentPlan:
          type: array
          items:
            $ref: '#/components/schemas/PaymentPlan'
        relatedParty:
          type: array
          items:
            $ref: '#/components/schemas/RelatedParty'
          minItems: 1
        taxExemption:
          type: array
          items:
            $ref: '#/components/schemas/AccountTaxExemption'
        '@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
    AccountBalance:
      type: object
      description: Balances linked to the account
      required:
      - amount
      - balanceType
      - validFor
      properties:
        balanceType:
          type: string
          description: 'Type of the balance : deposit balance, disputed balance, loyalty balance, receivable balance...'
        amount:
          $ref: '#/components/schemas/Money'
          description: Balance amount
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: Balance validity period
        '@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
    AccountRelationship:
      type: object
      description: Significant connection between accounts. For instance an aggregating account for a list of shop branches each having its own billing account.
      required:
      - relationshipType
      - validFor
      properties:
        relationshipType:
          type: string
          description: Type of relationship
        account:
          $ref: '#/components/schemas/AccountRef'
        validFor:
          $ref: '#/components/schemas/TimePeriod'
          description: Validity period of that relationship
        '@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
    BillingCycleSpecificationRefOrValue:
      type: object
      description: An attachment by value or by reference.
      required:
      - name
      - isRef
      properties:
        id:
          type: string
          description: Unique identifier of the billing cycle specification
        href:
          type: string
          description: Reference of the billing cycle specification
        billingDateShift:
          type: integer
          description: An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.
        billingPeriod:
          type: string
          description: 'A billing time period. It can be recurring, for example: week, month, quarter of year, year .'
        chargeDateOffset:
          type: integer
          description: An offset of a date through which charges previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.
        creditDateOffset:
          type: integer
          description: An offset of a date through which credits previously received by the billing system will appear on the bill. The offset is expressed as number of days with regard to the start of the BillingPeriod.
        dateShift:
          type: integer
          description: An offset of a billing/settlement date. The offset is expressed as number of days with regard to the start of the billing/settlement period.
        description:
          type: string
          description: An explanation regarding this billing cycle specification
        frequency:
          type: string
          descri

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