ECI Solutions ERP/CRM API

The ERP/CRM API from ECI Solutions — 64 operation(s) for erp/crm.

Operations 124

GET /api/ERP/CallLines Returns all existing CallLines according to the filter, order by and pagination… #
PUT /api/ERP/CallLines Creates or updates a single CallLine record #
GET /api/ERP/CallLines/{key} Returns a single CallLine record for a given Unique Id #
DELETE /api/ERP/CallLines/{key} Deletes a single CallLine record #
GET /api/ERP/CallMemos Returns all existing CallMemos according to the filter, order by and pagination… #
PUT /api/ERP/CallMemos Creates or updates a single CallMemo record #
GET /api/ERP/CallMemos/{key} Returns a single CallMemo record for a given Unique Id #
DELETE /api/ERP/CallMemos/{key} Deletes a single CallMemo record #
GET /api/ERP/Calls Returns all existing Calls according to the filter, order by and pagination… #
PUT /api/ERP/Calls Creates or updates a single Call record #
GET /api/ERP/Calls/{key} Returns a single Call record for a given Unique Id #
DELETE /api/ERP/Calls/{key} Deletes a single Call record #
GET /api/ERP/CallTypes Returns all existing CallTypes according to the filter, order by and pagination… #
GET /api/ERP/CallTypes/{key} Returns a single CallType record for a given Unique Id #
GET /api/ERP/ContactGroups Returns all existing ContactGroups according to the filter, order by and… #
PUT /api/ERP/ContactGroups Creates or updates a single ContactGroup record #
GET /api/ERP/ContactGroups/{key} Returns a single ContactGroup record for a given Unique Id #
DELETE /api/ERP/ContactGroups/{key} Deletes a single ContactGroup record #
GET /api/ERP/ContactMethods Returns all existing ContactMethods according to the filter, order by and… #
PUT /api/ERP/ContactMethods Creates or updates a single ContactMethod record #
GET /api/ERP/ContactMethods/{key} Returns a single ContactMethod record for a given Unique Id #
DELETE /api/ERP/ContactMethods/{key} Deletes a single ContactMethod record #
GET /api/ERP/ContactTitles Returns all existing ContactTitles according to the filter, order by and… #
PUT /api/ERP/ContactTitles Creates or updates a single ContactTitle record #
GET /api/ERP/ContactTitles/{key} Returns a single ContactTitle record for a given Unique Id #
DELETE /api/ERP/ContactTitles/{key} Deletes a single ContactTitle record #
GET /api/ERP/CountyCodes Returns all existing CountyCodes according to the filter, order by and… #
PUT /api/ERP/CountyCodes Creates or updates a single CountyCode record #
GET /api/ERP/CountyCodes/{key} Returns a single CountyCode record for a given Unique Id #
DELETE /api/ERP/CountyCodes/{key} Deletes a single CountyCode record #
GET /api/ERP/CustomerGroups Returns all existing CustomerGroups according to the filter, order by and… #
PUT /api/ERP/CustomerGroups Creates or updates a single CustomerGroup record #
GET /api/ERP/CustomerGroups/{key} Returns a single CustomerGroup record for a given Unique Id #
DELETE /api/ERP/CustomerGroups/{key} Deletes a single CustomerGroup record #
GET /api/ERP/Followups Returns all existing Followups according to the filter, order by and pagination… #
PUT /api/ERP/Followups Creates or updates a single Followup record #
GET /api/ERP/Followups/{key} Returns a single Followup record for a given Unique Id #
DELETE /api/ERP/Followups/{key} Deletes a single Followup record #
GET /api/ERP/IndustryTypes Returns all existing IndustryTypes according to the filter, order by and… #
PUT /api/ERP/IndustryTypes Creates or updates a single IndustryType record #
GET /api/ERP/IndustryTypes/{key} Returns a single IndustryType record for a given Unique Id #
DELETE /api/ERP/IndustryTypes/{key} Deletes a single IndustryType record #
GET /api/ERP/KnowledgeBasePages Returns all existing KnowledgeBasePages according to the filter, order by and… #
PUT /api/ERP/KnowledgeBasePages Creates or updates a single KnowledgeBasePage record #
GET /api/ERP/KnowledgeBasePages/{key} Returns a single KnowledgeBasePage record for a given Unique Id #
DELETE /api/ERP/KnowledgeBasePages/{key} Deletes a single KnowledgeBasePage record #
GET /api/ERP/LeadCompetitors Returns all existing LeadCompetitors according to the filter, order by and… #
PUT /api/ERP/LeadCompetitors Creates or updates a single LeadCompetitor record #
GET /api/ERP/LeadCompetitors/{key} Returns a single LeadCompetitor record for a given Unique Id #
DELETE /api/ERP/LeadCompetitors/{key} Deletes a single LeadCompetitor record #
GET /api/ERP/LeadLines Returns all existing LeadLines according to the filter, order by and pagination… #
PUT /api/ERP/LeadLines Creates or updates a single LeadLine record #
GET /api/ERP/LeadLines/{key} Returns a single LeadLine record for a given Unique Id #
DELETE /api/ERP/LeadLines/{key} Deletes a single LeadLine record #
GET /api/ERP/LeadMemos Returns all existing LeadMemos according to the filter, order by and pagination… #
PUT /api/ERP/LeadMemos Creates or updates a single LeadMemo record #
GET /api/ERP/LeadMemos/{key} Returns a single LeadMemo record for a given Unique Id #
DELETE /api/ERP/LeadMemos/{key} Deletes a single LeadMemo record #
GET /api/ERP/Leads Returns all existing Leads according to the filter, order by and pagination… #
PUT /api/ERP/Leads Creates or updates a single Lead record #
GET /api/ERP/Leads/{key} Returns a single Lead record for a given Unique Id #
DELETE /api/ERP/Leads/{key} Deletes a single Lead record #
GET /api/ERP/LeadSalesPeople Returns all existing LeadSalesPeople according to the filter, order by and… #
PUT /api/ERP/LeadSalesPeople Creates or updates a single LeadSalesPerson record #
GET /api/ERP/LeadSalesPeople/{key} Returns a single LeadSalesPerson record for a given Unique Id #
DELETE /api/ERP/LeadSalesPeople/{key} Deletes a single LeadSalesPerson record #
GET /api/ERP/MarketingPrograms Returns all existing MarketingPrograms according to the filter, order by and… #
PUT /api/ERP/MarketingPrograms Creates or updates a single MarketingProgram record #
GET /api/ERP/MarketingPrograms/{key} Returns a single MarketingProgram record for a given Unique Id #
DELETE /api/ERP/MarketingPrograms/{key} Deletes a single MarketingProgram record #
GET /api/ERP/Milestones Returns all existing Milestones according to the filter, order by and… #
PUT /api/ERP/Milestones Creates or updates a single Milestone record #
GET /api/ERP/Milestones/{key} Returns a single Milestone record for a given Unique Id #
DELETE /api/ERP/Milestones/{key} Deletes a single Milestone record #
GET /api/ERP/OrganizationContacts Returns all existing OrganizationContacts according to the filter, order by and… #
PUT /api/ERP/OrganizationContacts Creates or updates a single OrganizationContact record #
GET /api/ERP/OrganizationContacts/{key} Returns a single OrganizationContact record for a given Unique Id #
DELETE /api/ERP/OrganizationContacts/{key} Deletes a single OrganizationContact record #
GET /api/ERP/OrganizationLocations Returns all existing OrganizationLocations according to the filter, order by… #
PUT /api/ERP/OrganizationLocations Creates or updates a single OrganizationLocation record #
GET /api/ERP/OrganizationLocations/{key} Returns a single OrganizationLocation record for a given Unique Id #
DELETE /api/ERP/OrganizationLocations/{key} Deletes a single OrganizationLocation record #
GET /api/ERP/OrganizationLocSalesPeople Returns all existing OrganizationLocSalesPeople according to the filter, order… #
PUT /api/ERP/OrganizationLocSalesPeople Creates or updates a single OrganizationLocSalesPerson record #
GET /api/ERP/OrganizationLocSalesPeople/{key} Returns a single OrganizationLocSalesPerson record for a given Unique Id #
DELETE /api/ERP/OrganizationLocSalesPeople/{key} Deletes a single OrganizationLocSalesPerson record #
GET /api/ERP/OrganizationMemos Returns all existing OrganizationMemos according to the filter, order by and… #
PUT /api/ERP/OrganizationMemos Creates or updates a single OrganizationMemo record #
GET /api/ERP/OrganizationMemos/{key} Returns a single OrganizationMemo record for a given Unique Id #
DELETE /api/ERP/OrganizationMemos/{key} Deletes a single OrganizationMemo record #
GET /api/ERP/Organizations Returns all existing Organizations according to the filter, order by and… #
PUT /api/ERP/Organizations Creates or updates a single Organization record #
GET /api/ERP/Organizations/{key} Returns a single Organization record for a given Unique Id #
DELETE /api/ERP/Organizations/{key} Deletes a single Organization record #
GET /api/ERP/ServiceContractLines Returns all existing ServiceContractLines according to the filter, order by and… #
PUT /api/ERP/ServiceContractLines Creates or updates a single ServiceContractLine record #
GET /api/ERP/ServiceContractLines/{key} Returns a single ServiceContractLine record for a given Unique Id #
DELETE /api/ERP/ServiceContractLines/{key} Deletes a single ServiceContractLine record #
GET /api/ERP/ServiceContractMemos Returns all existing ServiceContractMemos according to the filter, order by and… #
PUT /api/ERP/ServiceContractMemos Creates or updates a single ServiceContractMemo record #
GET /api/ERP/ServiceContractMemos/{key} Returns a single ServiceContractMemo record for a given Unique Id #
DELETE /api/ERP/ServiceContractMemos/{key} Deletes a single ServiceContractMemo record #
GET /api/ERP/ServiceContractOwners Returns all existing ServiceContractOwners according to the filter, order by… #
PUT /api/ERP/ServiceContractOwners Creates or updates a single ServiceContractOwner record #
GET /api/ERP/ServiceContractOwners/{key} Returns a single ServiceContractOwner record for a given Unique Id #
DELETE /api/ERP/ServiceContractOwners/{key} Deletes a single ServiceContractOwner record #
GET /api/ERP/ServiceContracts Returns all existing ServiceContracts according to the filter, order by and… #
PUT /api/ERP/ServiceContracts Creates or updates a single ServiceContract record #
GET /api/ERP/ServiceContracts/{key} Returns a single ServiceContract record for a given Unique Id #
DELETE /api/ERP/ServiceContracts/{key} Deletes a single ServiceContract record #
GET /api/ERP/ServiceContractTypes Returns all existing ServiceContractTypes according to the filter, order by and… #
GET /api/ERP/ServiceContractTypes/{key} Returns a single ServiceContractType record for a given Unique Id #
GET /api/ERP/SupplierRatings Returns all existing SupplierRatings according to the filter, order by and… #
PUT /api/ERP/SupplierRatings Creates or updates a single SupplierRating record #
GET /api/ERP/SupplierRatings/{key} Returns a single SupplierRating record for a given Unique Id #
DELETE /api/ERP/SupplierRatings/{key} Deletes a single SupplierRating record #

Documentation

Specifications

Other Resources

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/eci-solutions-erp-crm-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

eci-solutions-erp-crm-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: M1 Public ERP/CRM API
  description: '## Developer Notes for the M1 Public API (ERP resource):


    ### Hosted Environment


    If you are using the public API for a hosted M1 customer, you must connect to the public API using the Integration Engine.'
  contact:
    name: ECI Software Solutions - M1
    url: https://www.ecisolutions.com/manufacturers-and-job-shops/m1
  version: v1
servers:
- url: https://api-m1.integrations.ecimanufacturing.com
  description: API Host
security:
- oauth2: []
tags:
- name: ERP/CRM
paths:
  /api/ERP/CallLines:
    get:
      tags:
      - ERP/CRM
      summary: Returns all existing CallLines according to the filter, order by and pagination…
      description: 'When passing the filter parameter, the following operators are supported: [eq, ne, gt, lt]. Multiple filters can be specified as separate query parameters in the format M1Field[operator]value. eg. `impPartID[eq]CLIP`. An invalid filter will return a 400 Bad Request response.


        When passing the orderBy parameter, the following operators are supported: [Asc, Desc]. The format must be M1Field[Asc],M1Field[Desc]. eg. `impPartID[Asc],impPartType[Desc]`. An invalid orderBy will return a 400 Bad Request response.


        Custom fields are returned in the response as their full field name, they are also filterable and sortable. The format should be `M1CustomField[operator]value`. eg. `uimpCustomField1[eq]12`.'
      operationId: ERPCallLines_GetAllCallLineAsync
      parameters:
      - name: pageSize
        in: query
        description: Specifies the number of items per page. Defaults to 1000 which is also the maximum.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: pageNumber
        in: query
        description: Specifies the page number to retrieve. Defaults to 0, which corresponds to the first page.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: filter
        in: query
        description: Applies a filter to the returned data. The format should be `M1Field[operator]value`.
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: orderBy
        in: query
        description: Specifies the sorting criteria for the returned data. The format should be `M1Field[Asc],M1Field[Desc]`.
        style: form
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPCallLineDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPCallLineDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPCallLineDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPCallLineDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
    put:
      tags:
      - ERP/CRM
      summary: Creates or updates a single CallLine record
      description: 'When a record does not exist, a new record will be created. When a record exists, the record will be updated.


        When updating an existing record, all fields must be provided, even if they are not changing. Upon update, the UniqueID, Created By/Date and M1 Keys (eg. cmoOrganizationID) will not be updated.


        Custom fields should be sent in the request as their full field name and should be prefixed with `u`. eg. `uimpCustomField1`.


        To use this endpoint, you must have an API Key that supports writes.'
      operationId: ERPCallLines_PutCallLineAsync
      requestBody:
        description: The fully populated {M1.API.DTOs.ERP.ERPCallLineDto} model.
        content:
          text/json:
            schema:
              $ref: '#/components/schemas/ERPCallLineDto'
          application/json:
            schema:
              $ref: '#/components/schemas/ERPCallLineDto'
        required: true
        x-bodyName: callLine
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
        '201':
          description: Created
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
  /api/ERP/CallLines/{key}:
    get:
      tags:
      - ERP/CRM
      summary: Returns a single CallLine record for a given Unique Id
      description: This endpoint retrieves a CallLine based on its identifier. If the record does not exist, a 404 Not Found response will be returned.
      operationId: ERPCallLines_GetCallLineAsync
      parameters:
      - name: key
        in: path
        description: The Unique Id of the record to be retrieved
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
    delete:
      tags:
      - ERP/CRM
      summary: Deletes a single CallLine record
      description: 'If the record is not found, a 404 Not Found response will be returned.


        If the record is successfully deleted, a 200 OK response will be returned.


        If the record is being used anywhere in the M1 system, a 400 Bad Request response will be returned.


        To use this endpoint, you must have an API Key that supports writes.'
      operationId: ERPCallLines_DeleteCallLineAsync
      parameters:
      - name: key
        in: path
        description: The Unique Id of the record to be deleted
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallLineDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
  /api/ERP/CallMemos:
    get:
      tags:
      - ERP/CRM
      summary: Returns all existing CallMemos according to the filter, order by and pagination…
      description: 'When passing the filter parameter, the following operators are supported: [eq, ne, gt, lt]. Multiple filters can be specified as separate query parameters in the format M1Field[operator]value. eg. `impPartID[eq]CLIP`. An invalid filter will return a 400 Bad Request response.


        When passing the orderBy parameter, the following operators are supported: [Asc, Desc]. The format must be M1Field[Asc],M1Field[Desc]. eg. `impPartID[Asc],impPartType[Desc]`. An invalid orderBy will return a 400 Bad Request response.


        Custom fields are returned in the response as their full field name, they are also filterable and sortable. The format should be `M1CustomField[operator]value`. eg. `uimpCustomField1[eq]12`.'
      operationId: ERPCallMemos_GetAllCallMemoAsync
      parameters:
      - name: pageSize
        in: query
        description: Specifies the number of items per page. Defaults to 1000 which is also the maximum.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: pageNumber
        in: query
        description: Specifies the page number to retrieve. Defaults to 0, which corresponds to the first page.
        style: form
        explode: false
        schema:
          type: integer
          format: int32
      - name: filter
        in: query
        description: Applies a filter to the returned data. The format should be `M1Field[operator]value`.
        style: form
        explode: false
        schema:
          type: array
          items:
            type: string
      - name: orderBy
        in: query
        description: Specifies the sorting criteria for the returned data. The format should be `M1Field[Asc],M1Field[Desc]`.
        style: form
        explode: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPCallMemoDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPCallMemoDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPCallMemoDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_IList_ERPCallMemoDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
    put:
      tags:
      - ERP/CRM
      summary: Creates or updates a single CallMemo record
      description: 'When a record does not exist, a new record will be created. When a record exists, the record will be updated.


        When updating an existing record, all fields must be provided, even if they are not changing. Upon update, the UniqueID, Created By/Date and M1 Keys (eg. cmoOrganizationID) will not be updated.


        Custom fields should be sent in the request as their full field name and should be prefixed with `u`. eg. `uimpCustomField1`.


        To use this endpoint, you must have an API Key that supports writes.'
      operationId: ERPCallMemos_PutCallMemoAsync
      requestBody:
        description: The fully populated {M1.API.DTOs.ERP.ERPCallMemoDto} model.
        content:
          text/json:
            schema:
              $ref: '#/components/schemas/ERPCallMemoDto'
          application/json:
            schema:
              $ref: '#/components/schemas/ERPCallMemoDto'
        required: true
        x-bodyName: callMemo
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
        '201':
          description: Created
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
  /api/ERP/CallMemos/{key}:
    get:
      tags:
      - ERP/CRM
      summary: Returns a single CallMemo record for a given Unique Id
      description: This endpoint retrieves a CallMemo based on its identifier. If the record does not exist, a 404 Not Found response will be returned.
      operationId: ERPCallMemos_GetCallMemoAsync
      parameters:
      - name: key
        in: path
        description: The Unique Id of the record to be retrieved
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
    delete:
      tags:
      - ERP/CRM
      summary: Deletes a single CallMemo record
      description: 'If the record is not found, a 404 Not Found response will be returned.


        If the record is successfully deleted, a 200 OK response will be returned.


        If the record is being used anywhere in the M1 system, a 400 Bad Request response will be returned.


        To use this endpoint, you must have an API Key that supports writes.'
      operationId: ERPCallMemos_DeleteCallMemoAsync
      parameters:
      - name: key
        in: path
        description: The Unique Id of the record to be deleted
        required: true
        style: simple
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            application/json:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/ERPResponseMessageDto_ERPCallMemoDto'
        '400':
          description: BadRequest
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '401':
          description: Unauthorized
          content:
            text/json: {}
            application/json: {}
            application/xml: {}
            text/xml: {}
        '404':
          description: NotFound
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
        '415':
          description: UnsupportedMediaType
          content:
            text/json:
              schema:
                type: string
            application/json:
              schema:
                type: string
            application/xml:
              schema:
                type: string
            text/xml:
              schema:
                type: string
        '500':
          description: InternalServerError
          content:
            text/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/json:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            application/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
            text/xml:
              schema:
                $ref: '#/components/schemas/APIResponseMessageDto'
  /api/ERP/Calls:
    get:
      tags:
      - ERP/CRM
      summary: Returns all existing Calls according to the filter, order by and pagination…
      description: 'When passing the filter 

# --- truncated at 32 KB (562 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/eci-solutions/refs/heads/main/openapi/eci-solutions-erp-crm-api-openapi.yml