Amdocs Customers API

Customer account management

OpenAPI Specification

amdocs-customers-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Amdocs connectX BSS Billing Customers API
  description: The Amdocs connectX BSS API provides cloud-native SaaS BSS capabilities for telecom operators covering billing, provisioning, customer management, and subscription lifecycle. REST APIs enable integration with CRM, network management, and revenue assurance systems for digital telco operations.
  version: 1.0.0
  contact:
    name: Amdocs Developer Portal
    url: https://devportal.amdocs-dbs.com/
servers:
- url: https://api.amdocs-dbs.com
  description: Amdocs connectX Production API
security:
- oauth2: []
tags:
- name: Customers
  description: Customer account management
paths:
  /v1/customers:
    get:
      operationId: listCustomers
      summary: List customers
      description: Retrieve a paginated list of telecom customer accounts.
      tags:
      - Customers
      parameters:
      - name: status
        in: query
        schema:
          type: string
          enum:
          - Active
          - Inactive
          - Suspended
          - Terminated
      - name: customerType
        in: query
        schema:
          type: string
          enum:
          - Individual
          - Business
          - Government
      - name: page
        in: query
        schema:
          type: integer
          default: 1
      - name: pageSize
        in: query
        schema:
          type: integer
          default: 25
      responses:
        '200':
          description: List of customers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createCustomer
      summary: Create a new customer
      description: Onboard a new telecom customer account into the BSS system.
      tags:
      - Customers
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerRequest'
      responses:
        '201':
          description: Customer created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
  /v1/customers/{customerId}:
    get:
      operationId: getCustomer
      summary: Get customer by ID
      description: Retrieve full customer account details including contact info and account status.
      tags:
      - Customers
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Customer details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
        '404':
          $ref: '#/components/responses/NotFound'
    patch:
      operationId: updateCustomer
      summary: Update customer
      description: Update customer account information such as contact details or account status.
      tags:
      - Customers
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerUpdate'
      responses:
        '200':
          description: Customer updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer'
components:
  schemas:
    Customer:
      type: object
      properties:
        customerId:
          type: string
        customerType:
          type: string
          enum:
          - Individual
          - Business
          - Government
        status:
          type: string
          enum:
          - Active
          - Inactive
          - Suspended
          - Terminated
        accountNumber:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        companyName:
          type: string
        email:
          type: string
          format: email
        phone:
          type: string
        address:
          $ref: '#/components/schemas/Address'
        billingAddress:
          $ref: '#/components/schemas/Address'
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    Pagination:
      type: object
      properties:
        page:
          type: integer
        pageSize:
          type: integer
        totalPages:
          type: integer
        totalItems:
          type: integer
    Address:
      type: object
      properties:
        street:
          type: string
        city:
          type: string
        state:
          type: string
        postalCode:
          type: string
        country:
          type: string
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
    CustomerRequest:
      type: object
      required:
      - customerType
      - email
      properties:
        customerType:
          type: string
          enum:
          - Individual
          - Business
          - Government
        firstName:
          type: string
        lastName:
          type: string
        companyName:
          type: string
        email:
          type: string
          format: email
        phone:
          type: string
        address:
          $ref: '#/components/schemas/Address'
    CustomerUpdate:
      type: object
      properties:
        status:
          type: string
          enum:
          - Active
          - Inactive
          - Suspended
        email:
          type: string
          format: email
        phone:
          type: string
        address:
          $ref: '#/components/schemas/Address'
    CustomerList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Customer'
        pagination:
          $ref: '#/components/schemas/Pagination'
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://auth.amdocs-dbs.com/oauth/token
          scopes:
            read:customers: Read customer data
            write:customers: Manage customers
            read:billing: Read billing data
            write:subscriptions: Manage subscriptions