AMCS Group Contact API

The Contact API from AMCS Group — 3 operation(s) for contact.

Business capability
Customer Data Management BC-420.10

Operations 5

GET /directory/contacts/changes Retrieve changes #
GET /directory/contacts/{guid} Find with GUID #
PUT /directory/contacts/{guid} Partial update #
GET /directory/contacts Find with Filters #
POST /directory/contacts Create or update #

Specifications

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/amcs-group:amcs-group-contact-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

amcs-group-contact-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AMCS Platform REST Contact API
  description: '![latest End points](/amcsrestapi/diagram/endpointslatest.svg)


    # Overview


    ## Who Should Read this Document


    This document contains a technical description of the AMCS Platform REST API. It is intended for:


    · System integrators


    · Customer IT team looking to integrate AMCS Platform with another system


    · Third parties looking to integrate their system with AMCS Platform


    ## Document Scope


    This document introduces the technical aspects of the AMCS Platform REST API. The purpose of this document is to provide readers with detail on how to:


    · Access the REST API


    · Make calls to the API to retrieve, append and update resources


    · Retrieve the incremental changes to a collection


    · Find more detail on the end points that are available from an environment. ## Summary


    AMCS Platform REST API is designed to support the integration of AMCS Platform with other systems. With care and additional infrastructure, the REST API can be used to build functionality on top of Platform but that is not it’s primary purpose. The ‘changes since’ process provides the main means of performing an initial synchronisation of the AMCS Platform and another system, and then keeping them synchronised. Methods are also provided to create and update resources. # Integration Patterns and Tools


    The AMCS Platform provides a number of tools that can be used to connect systems. Care should be taken to match the right tooling to the intended pattern of integration. · When an extract-based approach is needed, use BI reporting. · When derived values are require, use the data mart. · When business processes on different systems need to be integrated by synchronising the data on each through an event style interface, use the REST API. An integration using the REST API will need to take full responsibility for all aspects of the integration including:


    · Pulling change events from AMCS Platform


    · Filtering the changed resources for the ones that are of interest


    · Pulling additional resources from the REST API in order the retrieve all the properties needed by the destination


    · Mashing resources to create the complete view required


    · Translating that into the form required by the destination


    · Validating this to ensure it meet the entry rules of the destination


    · Pushing the result to the destination


    In the early stages of designing the interface care should be taken to ensure that the need for caching/staging has been considered. The changes since functionality is effectively a means of pulling create/change events from platform. The only filters available enable retrieval of related resources to build a view external to AMCS Platform


    # Basics


    The AMCS REST API provides a RESTful interface that allows access to the primary business resources of the AMCS platform. The interface follows general HATEOAS compliance principles. ## Quick start


    A quickstart walkthrough based on node.js and covering authentication and getting a page of customers can be found here. ## Interface definitions


    Swagger documentation for the end points available on an environment can be found at:


    Before 8.5: https://{environment domain name}/swagger/ui/index


    From 8.5: https://{environment domain name}/erp/api/swagger/ui/index


    ## HTTP Interface


    The following HTTP RESTful methods are provided as part of this API:


    · GET: Provides read access to retrieve details of one or more resources. · POST: Creates or updates a single resource or a set of resources. · PUT: Updates a single resource or a set of resources. Note:


    · DELETE methods are currently not provided as part of the API. The REST API URIs begin with


    https://{environment domain name}/erp/api/integrator/erp


    For example:

    https://prod.amcs-at-mycompany.com/erp/api/integrator/erp


    This should be used as the base of the URI.'
  version: latest
servers:
- url: https://ete-p5-tst-svc-core.amcsplatform.com/erp/api/integrator/erp
tags:
- name: Contact
paths:
  /directory/contacts/changes:
    get:
      tags:
      - Contact
      summary: Retrieve changes
      description: '| Property| Description |

        | --------------------------------- |------------------------------------------------------------------------ |

        | GUID| The GUID associated to the contact. |

        | Salutation | The contact''s Salutation. |

        | Forename| The contact''s Forename. |

        | Surname| The contact''s Surname. |

        | JobTitle| The contact''s Job Title. |

        | ActivationCode| The contact''s Activation code. |

        | ContactRegistrationStatusListItem | The Guid and Description associated to the contract registration status. |

        | AccessGroupListItem| The Guid and Description associated to the access group. |

        | PinCode| The Pin code of the contact. |

        | ContactPassword| The password of the contact |

        | ConfirmContactPassword| The password confirmation of the contact. |

        | ContactMethods| The contact''s contact methods. |

        | ContactMethods.TelNo| The contact''s telephone number. |

        | ContactMethods.OtherTelNo| The contact''s other telephone number. |

        | ContactMethods Email| The contact''s email address. |

        | RelatedCustomerGuid| The GUID associated to the customer of the contact. |

        | ContactTypeListItems| The list of contact types associated to the contact. |

        | ContactTypeListItems[0].ContactTypeListItem | The GUID and description of contact types associated to the contact.|

        | RelatedLocationGuids| The list of related location guid associated to the contact.|

        | RelatedLocationGuids[0].RelatedLocationGuid| The GUID associated to the location of the contact.|

        | RelatedLocationGuids[0].IsPrimary| The IsPrimary associated to the location contact of the contact.|

        | RelatedLocationGuids[0].GUID| The GUID associated to the location contact of the contact.|

        | IsDeleted| Whether the contact is deleted.|

        | RelatedLocationGuidFilter | Used to filter the related location guid linked to the contact |'
      operationId: Contact_GetChanges
      parameters:
      - name: since
        in: query
        schema:
          type: string
      - name: cursor
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResourceChanges_ApiIntegratorContactResource'
  /directory/contacts/{guid}:
    get:
      tags:
      - Contact
      summary: Find with GUID
      description: '| Property| Description |

        | --------------------------------- |------------------------------------------------------------------------ |

        | GUID| The GUID associated to the contact. |

        | Salutation | The contact''s Salutation. |

        | Forename| The contact''s Forename. |

        | Surname| The contact''s Surname. |

        | JobTitle| The contact''s Job Title. |

        | ActivationCode| The contact''s Activation code. |

        | ContactRegistrationStatusListItem | The Guid and Description associated to the contract registration status. |

        | AccessGroupListItem| The Guid and Description associated to the access group. |

        | PinCode| The Pin code of the contact. |

        | ContactPassword| The password of the contact |

        | ConfirmContactPassword| The password confirmation of the contact. |

        | ContactMethods| The contact''s contact methods. |

        | ContactMethods.TelNo| The contact''s telephone number. |

        | ContactMethods.OtherTelNo| The contact''s other telephone number. |

        | ContactMethods Email| The contact''s email address. |

        | RelatedCustomerGuid| The GUID associated to the customer of the contact. |

        | ContactTypeListItems| The list of contact types associated to the contact. |

        | ContactTypeListItems[0].ContactTypeListItem | The GUID and description of contact types associated to the contact.|

        | RelatedLocationGuids| The list of related location guid associated to the contact.|

        | RelatedLocationGuids[0].RelatedLocationGuid| The GUID associated to the location of the contact.|

        | RelatedLocationGuids[0].IsPrimary| The IsPrimary associated to the location contact of the contact.|

        | RelatedLocationGuids[0].GUID| The GUID associated to the location contact of the contact.|

        | IsDeleted| Whether the contact is deleted.|

        | RelatedLocationGuidFilter | Used to filter the related location guid linked to the contact |'
      operationId: Contact_Get
      parameters:
      - name: guid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: udf
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResourceResultEntity_ApiIntegratorContactResource'
    put:
      tags:
      - Contact
      summary: Partial update
      description: '| Property| Description | Required |

        | --------------------------------- |------------------------------------------------------------------------- | -------- |

        | GUID| The GUID associated to the contact. | No |

        | Salutation | The contact''s Salutation. | No |

        | Forename| The contact''s Forename. | No |

        | Surname| The contact''s Surname. | Yes |

        | JobTitle| The contact''s Job Title. | No |

        | ActivationCode| The contact''s Activation code. | No |

        | ContactRegistrationStatusListItem | The Guid and Description associated to the contract registration status. | Yes |

        | AccessGroupListItem| The Guid and Description associated to the access group. | Yes |

        | PinCode| The contact''s Pin code. | Yes |

        | ContactPassword| The contact''s password. | Yes |

        | ConfirmContactPassword| The contact''s password confirmation. | Yes |

        | ContactMethods| The contact''s contact methods. | No |

        | ContactMethods.TelNo| The contact''s telephone number. | No |

        | ContactMethods.OtherTelNo| The contact''s other telephone number. | No |

        | ContactMethods.Email| The contact''s email address. | No |

        | RelatedCustomerGuid| The GUID associated to the customer of the contact. | Yes |

        | ContactTypeListItems| The list of contact types associated to the contact. | No |

        | ContactTypeListItems[0].ContactTypeListItem | The GUID and description of contact types associated to the contact.| No |

        | RelatedLocationGuids| The list of related location guid associated to the contact.| No |

        | RelatedLocationGuids[0].RelatedLocationGuid| The GUID associated to the location of the contact.| Yes |

        | RelatedLocationGuids[0].IsPrimary| The IsPrimary associated to the location contact of the contact.| No |

        | RelatedLocationGuids[0].GUID| The GUID associated to the location contact of the contact.| No |

        | IsDeleted| Whether the contact is deleted.| No |

        | RelatedLocationGuidFilter | Used to filter the related location guid linked to the contact | No |


        **Extra validations**


        | Condition | Error message |

        | --------- | ------------- |

        | If invalid telephone number | Tel No: Must match a valid telephone number format. |

        | If activationCode is provided | ContactRegistrationStatusListItem, AccessGroupListItem, PinCode, ContactMethods.Email, ContactMethods.TelNo, ContactPassword & ConfirmContactPassword are required |

        | If contact is a portal contact the Activation code cannot be set to null | "Activation Code: Must have a value for portal contacts and be no more than 16 characters long". |

        | If ContactTypeListItems[0].ContactTypeListItem.GUID is duplicated on another ContactTypeListItem | Failed to save. ContactTypeListItems already exists with Guid of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |

        | RelatedLocationGuids replace existing | All existing RelatedLocationGuids are deleted and replaced when the resource is updated. |

        | If same Location Guid is provided to a contact| LocationContact already exists with RelatedLocationGuids.RelatedLocationGuid of {value of RelatedLocationGuid}. |

        | If trying to update the deleted resource | Attempt to update a deleted Contact. Could not process the request. |

        | If activation code is Duplicated | Failed to save. Entity already exists with ActivationCode of {value of ActivationCode}. |'
      operationId: Contact_Update
      parameters:
      - name: guid
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiIntegratorContactResource'
        required: true
        x-bodyName: null
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResourceId'
  /directory/contacts:
    get:
      tags:
      - Contact
      summary: Find with Filters
      description: '| Property| Description |

        | --------------------------------- |------------------------------------------------------------------------ |

        | GUID| The GUID associated to the contact. |

        | Salutation | The contact''s Salutation. |

        | Forename| The contact''s Forename. |

        | Surname| The contact''s Surname. |

        | JobTitle| The contact''s Job Title. |

        | ActivationCode| The contact''s Activation code. |

        | ContactRegistrationStatusListItem | The Guid and Description associated to the contract registration status. |

        | AccessGroupListItem| The Guid and Description associated to the access group. |

        | PinCode| The Pin code of the contact. |

        | ContactPassword| The password of the contact |

        | ConfirmContactPassword| The password confirmation of the contact. |

        | ContactMethods| The contact''s contact methods. |

        | ContactMethods.TelNo| The contact''s telephone number. |

        | ContactMethods.OtherTelNo| The contact''s other telephone number. |

        | ContactMethods Email| The contact''s email address. |

        | RelatedCustomerGuid| The GUID associated to the customer of the contact. |

        | ContactTypeListItems| The list of contact types associated to the contact. |

        | ContactTypeListItems[0].ContactTypeListItem | The GUID and description of contact types associated to the contact.|

        | RelatedLocationGuids| The list of related location guid associated to the contact.|

        | RelatedLocationGuids[0].RelatedLocationGuid| The GUID associated to the location of the contact.|

        | RelatedLocationGuids[0].IsPrimary| The IsPrimary associated to the location contact of the contact.|

        | RelatedLocationGuids[0].GUID| The GUID associated to the location contact of the contact.|

        | IsDeleted| Whether the contact is deleted.|

        | RelatedLocationGuidFilter | Used to filter the related location guid linked to the contact |'
      operationId: Contact_GetCollection
      parameters:
      - name: filter
        in: query
        schema:
          type: string
      - name: max
        in: query
        schema:
          type: integer
          format: int32
      - name: page
        in: query
        schema:
          type: integer
          format: int32
      - name: includeCount
        in: query
        schema:
          type: boolean
      - name: udf
        in: query
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResourceResultCollection_ApiIntegratorContactResource'
    post:
      tags:
      - Contact
      summary: Create or update
      description: '| Property| Description | Required |

        | --------------------------------- |------------------------------------------------------------------------- | -------- |

        | GUID| The GUID associated to the contact. | No |

        | Salutation | The contact''s Salutation. | No |

        | Forename| The contact''s Forename. | No |

        | Surname| The contact''s Surname. | Yes |

        | JobTitle| The contact''s Job Title. | No |

        | ActivationCode| The contact''s Activation code. | No |

        | ContactRegistrationStatusListItem | The Guid and Description associated to the contract registration status. | Yes |

        | AccessGroupListItem| The Guid and Description associated to the access group. | Yes |

        | PinCode| The contact''s Pin code. | Yes |

        | ContactPassword| The contact''s password. | Yes |

        | ConfirmContactPassword| The contact''s password confirmation. | Yes |

        | ContactMethods| The contact''s contact methods. | No |

        | ContactMethods.TelNo| The contact''s telephone number. | No |

        | ContactMethods.OtherTelNo| The contact''s other telephone number. | No |

        | ContactMethods.Email| The contact''s email address. | No |

        | RelatedCustomerGuid| The GUID associated to the customer of the contact. | Yes |

        | ContactTypeListItems| The list of contact types associated to the contact. | No |

        | ContactTypeListItems[0].ContactTypeListItem | The GUID and description of contact types associated to the contact.| No |

        | RelatedLocationGuids| The list of related location guid associated to the contact.| No |

        | RelatedLocationGuids[0].RelatedLocationGuid| The GUID associated to the location of the contact.| Yes |

        | RelatedLocationGuids[0].IsPrimary| The IsPrimary associated to the location contact of the contact.| No |

        | RelatedLocationGuids[0].GUID| The GUID associated to the location contact of the contact.| No |

        | IsDeleted| Whether the contact is deleted.| No |

        | RelatedLocationGuidFilter | Used to filter the related location guid linked to the contact | No |


        **Extra validations**


        | Condition | Error message |

        | --------- | ------------- |

        | If invalid telephone number | Tel No: Must match a valid telephone number format. |

        | If activationCode is provided | ContactRegistrationStatusListItem, AccessGroupListItem, PinCode, ContactMethods.Email, ContactMethods.TelNo, ContactPassword & ConfirmContactPassword are required |

        | If contact is a portal contact the Activation code cannot be set to null | "Activation Code: Must have a value for portal contacts and be no more than 16 characters long". |

        | If ContactTypeListItems[0].ContactTypeListItem.GUID is duplicated on another ContactTypeListItem | Failed to save. ContactTypeListItems already exists with Guid of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx |

        | RelatedLocationGuids replace existing | All existing RelatedLocationGuids are deleted and replaced when the resource is updated. |

        | If same Location Guid is provided to a contact| LocationContact already exists with RelatedLocationGuids.RelatedLocationGuid of {value of RelatedLocationGuid}. |

        | If isDeleted true | IsDeleted is TRUE. Could not process the request. Resources can not be deleted via the REST API. |

        | If activation code is Duplicated | Failed to save. Entity already exists with ActivationCode of {value of ActivationCode}. |'
      operationId: Contact_Create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiIntegratorContactResource'
        required: true
        x-bodyName: null
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResourceId'
components:
  schemas:
    ApiResourceResultCollectionExtra:
      type: object
      properties:
        count:
          type: integer
          format: int32
    ApiResourceResultEntityLinks:
      type: object
      properties:
        self:
          type: string
        associations:
          type: array
          items:
            type: string
        expand:
          type: array
          items:
            type: string
        operations:
          type: array
          items:
            type: string
    ApiResourceResultEntityExtra:
      type: object
      properties:
        expand:
          type: object
          additionalProperties:
            type: object
            additionalProperties:
              type: object
        include:
          type: object
          additionalProperties:
            type: array
            items:
              type: object
              additionalProperties:
                type: object
    ApiResourceChanges_ApiIntegratorContactResource:
      type: object
      properties:
        resource:
          type: array
          items:
            $ref: '#/components/schemas/ApiIntegratorContactResource'
        extra:
          $ref: '#/components/schemas/ApiResourceResultUpdatesExtra'
        errors:
          $ref: '#/components/schemas/ApiResourceErrors'
        status:
          $ref: '#/components/schemas/ApiResourceStatus'
    ApiResourceResultEntity_ApiIntegratorContactResource:
      type: object
      properties:
        resource:
          $ref: '#/components/schemas/ApiIntegratorContactResource'
        links:
          $ref: '#/components/schemas/ApiResourceResultEntityLinks'
        extra:
          $ref: '#/components/schemas/ApiResourceResultEntityExtra'
        errors:
          $ref: '#/components/schemas/ApiResourceErrors'
        status:
          $ref: '#/components/schemas/ApiResourceStatus'
    ApiResourceResultCollection_ApiIntegratorContactResource:
      type: object
      properties:
        resource:
          type: array
          items:
            $ref: '#/components/schemas/ApiIntegratorContactResource'
        extra:
          $ref: '#/components/schemas/ApiResourceResultCollectionExtra'
        errors:
          $ref: '#/components/schemas/ApiResourceErrors'
        status:
          $ref: '#/components/schemas/ApiResourceStatus'
    ApiResourceResultUpdatesExtra:
      type: object
      properties:
        until:
          type: string
        cursor:
          type: string
    ApiResourceId:
      type: object
      properties:
        resource:
          type: string
          format: uuid
        errors:
          $ref: '#/components/schemas/ApiResourceErrors'
        status:
          $ref: '#/components/schemas/ApiResourceStatus'
    ApiIntegratorListItemResource:
      type: object
      properties:
        Description:
          type: string
        Guid:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
    ApiIntegratorContactContactTypeResource:
      type: object
      properties:
        ContactTypeListItem:
          $ref: '#/components/schemas/ApiIntegratorListItemResource'
    ApiResourceStatus:
      type: object
      properties:
        id:
          type: integer
          format: int32
        isSuccess:
          type: boolean
    ApiIntegratorContactResource:
      type: object
      properties:
        Salutation:
          type: string
        Forename:
          type: string
        Surname:
          type: string
        JobTitle:
          type: string
        ActivationCode:
          type: string
        RelatedCustomerGuid:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        RelatedLocationGuids:
          type: array
          items:
            $ref: '#/components/schemas/ApiIntegratorLocationContactResource'
        ContactMethods:
          $ref: '#/components/schemas/ApiIntegratorContactMethodsResource'
        ContactRegistrationStatusListItem:
          $ref: '#/components/schemas/ApiIntegratorListItemResource'
        AccessGroupListItem:
          $ref: '#/components/schemas/ApiIntegratorListItemResource'
        PinCode:
          type: string
        ContactPassword:
          type: string
        ConfirmContactPassword:
          type: string
        ContactTypeListItems:
          type: array
          items:
            $ref: '#/components/schemas/ApiIntegratorContactContactTypeResource'
        RelatedLocationGuidFilter:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        IsDeleted:
          type: boolean
        GUID:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
    ApiIntegratorContactMethodsResource:
      type: object
      properties:
        TelNo:
          type: string
        OtherTelNo:
          type: string
        Email:
          type: string
    ApiIntegratorLocationContactResource:
      type: object
      properties:
        RelatedLocationGuid:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
        IsPrimary:
          type: boolean
        Guid:
          type: string
          format: uuid
          example: 00000000-0000-0000-0000-000000000000
    ApiResourceErrors:
      type: object
      properties:
        errors:
          type: string