Phasio Manufacturer Customer Controller API

API for managing customer records and operations

Business capability
Customer Data Management BC-420.10

Operations 5

POST /api/manufacturer/v1/customer Create a new customer #
POST /api/manufacturer/v1/customer/organisation/{organisationId} Create a customer in an organization #
GET /api/manufacturer/v1/customer/{customerId} Get a customer by ID #
DELETE /api/manufacturer/v1/customer/{customerId} Delete a customer #
GET /api/manufacturer/v1/customer/paginated Get customers with filtering #

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/phasio:phasio-manufacturer-customer-controller-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

phasio-manufacturer-customer-controller-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Phasio Manufacturer Customer Controller API
  description: This is the API documentation for the Phasio application.
  version: '1.0'
servers:
- url: https://m-api.eu.phas.io
  description: Generated server url
security:
- Phasio API Bearer Token: []
tags:
- name: Manufacturer Customer Controller
  description: API for managing customer records and operations
paths:
  /api/manufacturer/v1/customer:
    post:
      tags:
      - Manufacturer Customer Controller
      summary: Create a new customer
      description: Creates a new customer record
      operationId: createCustomer
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomerDto'
        required: true
      responses:
        '200':
          description: Customer created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerDto'
        '400':
          description: Invalid customer data (error code INVALID_CUSTOMER_PAYLOAD)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized - missing operator context
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '409':
          description: Customer with the same email or phone number, or an organisation with the same name, already exists (error codes CUSTOMER_VALIDATION_ERROR, CUSTOMER_ORGANISATION_DUPLICATE_NAME)
          content:
            application/json: {}
  /api/manufacturer/v1/customer/organisation/{organisationId}:
    post:
      tags:
      - Manufacturer Customer Controller
      summary: Create a customer in an organization
      description: Creates a new customer that belongs to a specific organization
      operationId: createCustomerInOrganisation
      parameters:
      - name: organisationId
        in: path
        description: ID of the organization to add the customer to
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateCustomerDto'
        required: true
      responses:
        '200':
          description: Customer created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerDto'
        '400':
          description: Invalid customer data (error code INVALID_CUSTOMER_PAYLOAD)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '401':
          description: Unauthorized - missing operator context
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
        '404':
          description: Customer organisation not found (error code CUSTOMER_ORGANISATION_NOT_FOUND)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
  /api/manufacturer/v1/customer/{customerId}:
    get:
      tags:
      - Manufacturer Customer Controller
      summary: Get a customer by ID
      description: Retrieves details of a specific customer by their ID
      operationId: getCustomer
      parameters:
      - name: customerId
        in: path
        description: ID of the customer to retrieve
        required: true
        schema:
          type: integer
          format: int64
        example: 1
      responses:
        '200':
          description: Customer retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomerDto'
        '404':
          description: Customer not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
    delete:
      tags:
      - Manufacturer Customer Controller
      summary: Delete a customer
      description: Hard deletes a customer and removes PII data. The last customer in an organisation cannot be deleted; delete the organisation instead.
      operationId: deleteCustomer
      parameters:
      - name: customerId
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Customer deleted successfully
          content:
            '*/*':
              schema:
                type: string
        '404':
          description: Customer not found (error code CUSTOMER_NOT_FOUND)
          content:
            '*/*':
              schema:
                type: string
        '409':
          description: The customer is the last one in its organisation and cannot be deleted (error code LAST_CUSTOMER_IN_ORGANISATION)
          content:
            '*/*':
              schema:
                type: string
  /api/manufacturer/v1/customer/paginated:
    get:
      tags:
      - Manufacturer Customer Controller
      summary: Get customers with filtering
      description: Retrieves a paginated list of customers with optional filtering and search using RSQL
      operationId: getCustomersPaginated
      parameters:
      - name: filter
        in: query
        description: filter specification
        required: true
        schema:
          type: string
      - name: page
        in: query
        description: Zero-based page index (0..N)
        required: false
        schema:
          type: integer
          default: 0
          minimum: 0
      - name: size
        in: query
        description: The size of the page to be returned
        required: false
        schema:
          type: integer
          default: 30
          minimum: 1
      - name: sort
        in: query
        description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        required: false
        schema:
          type: array
          default:
          - updateDt,DESC
          items:
            type: string
      - name: search
        in: query
        description: Optional search term
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Customers retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Paginated'
        '400':
          description: Invalid filter or query (error code INVALID_FILTER)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiError'
components:
  schemas:
    Paginated:
      type: object
      properties:
        content:
          type: array
          items: {}
        totalElements:
          type: integer
        totalPages:
          type: integer
        pageNumber:
          type: integer
        pageSize:
          type: integer
        isEmpty:
          type: boolean
        isFirst:
          type: boolean
        isLast:
          type: boolean
      required:
      - content
      - isEmpty
      - isFirst
      - isLast
      - pageNumber
      - pageSize
      - totalElements
      - totalPages
    CustomerDto:
      type: object
      properties:
        email:
          type: string
        customerId:
          type: integer
          format: int64
        organisationId:
          type: integer
          format: int64
        organisationName:
          type: string
        isApproved:
          type: boolean
        firstName:
          type: string
        lastName:
          type: string
        phoneNumber:
          type: string
        notificationPreference:
          type: string
        discountId:
          type: integer
          format: int64
        discountPercentage:
          type: number
        language:
          type: string
      required:
      - customerId
      - firstName
      - isApproved
      - lastName
      - notificationPreference
      - organisationId
      - phoneNumber
    CreateCustomerDto:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        email:
          type: string
        phoneNumber:
          type: string
        language:
          type: string
          enum:
          - EN
          - DE
          - EL
          - FR
          - NL
          - SL
          - DA
          - TR
          - PL
          - ES
          - BG
          - IT
          - UK
          - RU
          - SV
        notificationPreference:
          type: string
          enum:
          - EMAIL
          - SMS
          - WHATSAPP
        affiliate:
          type: string
        organisationName:
          type: string
        taxExempt:
          type: boolean
        authCustomerId:
          type: string
      required:
      - notificationPreference
    ApiError:
      type: object
      additionalProperties: true
      description: Stable error contract. `error` is a SCREAMING_SNAKE code that clients match on; `message` is a human-readable sentence. Some errors add extra string fields (for example organisationId).
      properties:
        error:
          type: string
          example: ORDER_NOT_FOUND
        message:
          type: string
          example: Order not found
      required:
      - error
      - message
  securitySchemes:
    Phasio_API_Bearer_Token:
      type: http
      name: Authorization
      in: header
      scheme: bearer
      bearerFormat: JWT