M3ter · Capability

m3ter API — External Mapping

m3ter API — External Mapping. 10 operations. Lead operation: Retrieve External Mapping Configuration. Self-contained Naftiko capability covering one M3ter business surface.

Run with Naftiko M3terExternal Mapping

What You Can Do

GET
Getexternalmappingconfiguration — Retrieve External Mapping Configuration
/v1/organizations/{orgid}/externalmappingconfiguration
GET
Getexternalmappingoptionsfordestination — Retrieve External Entities from Destination
/v1/organizations/{orgid}/externalmappingconfiguration/values/{destination}/{entitytype}
GET
Getexternalmappingoptionsfordestinationforcredentialsid — Retrieve a list of external entities from the destination system for a particular credential
/v1/organizations/{orgid}/externalmappingconfiguration/values/{destination}/{entitytype}/{integrationcredentialsid}
GET
Listexternalmappings — List External Mappings
/v1/organizations/{orgid}/externalmappings
POST
Createexternalmapping — Create an External Mapping
/v1/organizations/{orgid}/externalmappings
GET
Listexternalmappingsform3terentity — List External Mappings for a m3ter Entity
/v1/organizations/{orgid}/externalmappings/external/{entity}/{m3terid}
GET
Listexternalmappingsforexternalsystemandentity — List External Mappings for External Entity
/v1/organizations/{orgid}/externalmappings/externalid/{system}/{externaltable}/{externalid}
GET
Getexternalmapping — Retrieve External Mapping
/v1/organizations/{orgid}/externalmappings/{id}
PUT
Updateexternalmapping — Update External Mapping
/v1/organizations/{orgid}/externalmappings/{id}
DELETE
Deleteexternalmapping — Delete an External Mapping
/v1/organizations/{orgid}/externalmappings/{id}

MCP Tools

retrieve-external-mapping-configuration

Retrieve External Mapping Configuration

read-only idempotent
retrieve-external-entities-destination

Retrieve External Entities from Destination

read-only idempotent
retrieve-list-external-entities-destination

Retrieve a list of external entities from the destination system for a particular credential

read-only idempotent
list-external-mappings

List External Mappings

read-only idempotent
create-external-mapping

Create an External Mapping

list-external-mappings-m3ter-entity

List External Mappings for a m3ter Entity

read-only idempotent
list-external-mappings-external-entity

List External Mappings for External Entity

read-only idempotent
retrieve-external-mapping

Retrieve External Mapping

read-only idempotent
update-external-mapping

Update External Mapping

idempotent
delete-external-mapping

Delete an External Mapping

idempotent

Capability Spec

m3ter-external-mapping.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: m3ter API — External Mapping
  description: 'm3ter API — External Mapping. 10 operations. Lead operation: Retrieve External Mapping Configuration. Self-contained
    Naftiko capability covering one M3ter business surface.'
  tags:
  - M3ter
  - External Mapping
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    M3TER_API_KEY: M3TER_API_KEY
capability:
  consumes:
  - type: http
    namespace: m3ter-external-mapping
    baseUri: https://api.m3ter.com
    description: m3ter API — External Mapping business capability. Self-contained, no shared references.
    resources:
    - name: organizations-orgId-externalmappingconfiguration
      path: /organizations/{orgId}/externalmappingconfiguration
      operations:
      - name: getexternalmappingconfiguration
        method: GET
        description: Retrieve External Mapping Configuration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
    - name: organizations-orgId-externalmappingconfiguration-values-destination-entityType
      path: /organizations/{orgId}/externalmappingconfiguration/values/{destination}/{entityType}
      operations:
      - name: getexternalmappingoptionsfordestination
        method: GET
        description: Retrieve External Entities from Destination
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
        - name: destination
          in: path
          type: string
          description: The name of the destination system from where the external entities are to be retrieved.
          required: true
        - name: entityType
          in: path
          type: string
          description: The m3ter entity type.
          required: true
        - name: externalTable
          in: query
          type: string
          description: Name of the target externalTable
    - name: organizations-orgId-externalmappingconfiguration-values-destination-entityType-i
      path: /organizations/{orgId}/externalmappingconfiguration/values/{destination}/{entityType}/{integrationCredentialsId}
      operations:
      - name: getexternalmappingoptionsfordestinationforcredentialsid
        method: GET
        description: Retrieve a list of external entities from the destination system for a particular credential
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: UUID of the organization
          required: true
        - name: destination
          in: path
          type: string
          description: Name of the destination system
          required: true
        - name: entityType
          in: path
          type: string
          description: The m3ter entity type.
          required: true
        - name: integrationCredentialsId
          in: path
          type: string
          description: The UUID of the credentials to use.
          required: true
        - name: externalTable
          in: query
          type: string
          description: Name of the target externalTable
    - name: organizations-orgId-externalmappings
      path: /organizations/{orgId}/externalmappings
      operations:
      - name: listexternalmappings
        method: GET
        description: List External Mappings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
        - name: pageSize
          in: query
          type: integer
          description: Specifies the maximum number of External Mappings to retrieve per page.
        - name: nextToken
          in: query
          type: string
          description: The `nextToken` for multi-page retrievals. It is used to fetch the next page of External Mappings in
            a paginated list.
        - name: externalSystemId
          in: query
          type: string
          description: The name of the external system to use as a filter.
        - name: m3terIds
          in: query
          type: array
          description: IDs for m3ter entities
        - name: integrationConfigId
          in: query
          type: string
          description: ID of the integration config
      - name: createexternalmapping
        method: POST
        description: Create an External Mapping
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: organizations-orgId-externalmappings-external-entity-m3terId
      path: /organizations/{orgId}/externalmappings/external/{entity}/{m3terId}
      operations:
      - name: listexternalmappingsform3terentity
        method: GET
        description: List External Mappings for a m3ter Entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
        - name: entity
          in: path
          type: string
          description: The entity type.
          required: true
        - name: m3terId
          in: path
          type: string
          description: The unique identifer (UUID) of the m3ter entity.
          required: true
        - name: pageSize
          in: query
          type: integer
          description: Specifies the maximum number of External Mappings to retrieve per page.
        - name: nextToken
          in: query
          type: string
          description: The `nextToken` for multi-page retrievals. It is used to fetch the next page of External Mappings in
            a paginated list.
    - name: organizations-orgId-externalmappings-externalid-system-externalTable-externalId
      path: /organizations/{orgId}/externalmappings/externalid/{system}/{externalTable}/{externalId}
      operations:
      - name: listexternalmappingsforexternalsystemandentity
        method: GET
        description: List External Mappings for External Entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
        - name: system
          in: path
          type: string
          description: The identifier for the external system.
          required: true
        - name: externalTable
          in: path
          type: string
          description: The identifier for the external table.
          required: true
        - name: externalId
          in: path
          type: string
          description: The unique identifier (UUID) for the external entity.
          required: true
        - name: pageSize
          in: query
          type: integer
          description: Specifies the maximum number of External Mappings to retrieve per page.
        - name: nextToken
          in: query
          type: string
          description: The `nextToken` for multi-page retrievals. It is used to fetch the next page of External Mappings in
            a paginated list.
    - name: organizations-orgId-externalmappings-id
      path: /organizations/{orgId}/externalmappings/{id}
      operations:
      - name: getexternalmapping
        method: GET
        description: Retrieve External Mapping
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
        - name: id
          in: path
          type: string
          description: The unique identifier (UUID) of the External Mapping to retrieve.
          required: true
      - name: updateexternalmapping
        method: PUT
        description: Update External Mapping
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
        - name: id
          in: path
          type: string
          description: The unique identifier (UUID) of the External Mapping to retrieve.
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: deleteexternalmapping
        method: DELETE
        description: Delete an External Mapping
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: The unique identifier (UUID) of your Organization. The Organization represents your company as a direct
            customer of our service.
          required: true
        - name: id
          in: path
          type: string
          description: The unique identifier (UUID) of the External Mapping to retrieve.
          required: true
    authentication:
      type: bearer
      token: '{{env.M3TER_API_KEY}}'
  exposes:
  - type: rest
    namespace: m3ter-external-mapping-rest
    port: 8080
    description: REST adapter for m3ter API — External Mapping. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/organizations/{orgid}/externalmappingconfiguration
      name: organizations-orgid-externalmappingconfiguration
      description: REST surface for organizations-orgId-externalmappingconfiguration.
      operations:
      - method: GET
        name: getexternalmappingconfiguration
        description: Retrieve External Mapping Configuration
        call: m3ter-external-mapping.getexternalmappingconfiguration
        with:
          orgId: rest.orgId
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{orgid}/externalmappingconfiguration/values/{destination}/{entitytype}
      name: organizations-orgid-externalmappingconfiguration-values-destination-entitytype
      description: REST surface for organizations-orgId-externalmappingconfiguration-values-destination-entityType.
      operations:
      - method: GET
        name: getexternalmappingoptionsfordestination
        description: Retrieve External Entities from Destination
        call: m3ter-external-mapping.getexternalmappingoptionsfordestination
        with:
          orgId: rest.orgId
          destination: rest.destination
          entityType: rest.entityType
          externalTable: rest.externalTable
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{orgid}/externalmappingconfiguration/values/{destination}/{entitytype}/{integrationcredentialsid}
      name: organizations-orgid-externalmappingconfiguration-values-destination-entitytype-i
      description: REST surface for organizations-orgId-externalmappingconfiguration-values-destination-entityType-i.
      operations:
      - method: GET
        name: getexternalmappingoptionsfordestinationforcredentialsid
        description: Retrieve a list of external entities from the destination system for a particular credential
        call: m3ter-external-mapping.getexternalmappingoptionsfordestinationforcredentialsid
        with:
          orgId: rest.orgId
          destination: rest.destination
          entityType: rest.entityType
          integrationCredentialsId: rest.integrationCredentialsId
          externalTable: rest.externalTable
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{orgid}/externalmappings
      name: organizations-orgid-externalmappings
      description: REST surface for organizations-orgId-externalmappings.
      operations:
      - method: GET
        name: listexternalmappings
        description: List External Mappings
        call: m3ter-external-mapping.listexternalmappings
        with:
          orgId: rest.orgId
          pageSize: rest.pageSize
          nextToken: rest.nextToken
          externalSystemId: rest.externalSystemId
          m3terIds: rest.m3terIds
          integrationConfigId: rest.integrationConfigId
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createexternalmapping
        description: Create an External Mapping
        call: m3ter-external-mapping.createexternalmapping
        with:
          orgId: rest.orgId
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{orgid}/externalmappings/external/{entity}/{m3terid}
      name: organizations-orgid-externalmappings-external-entity-m3terid
      description: REST surface for organizations-orgId-externalmappings-external-entity-m3terId.
      operations:
      - method: GET
        name: listexternalmappingsform3terentity
        description: List External Mappings for a m3ter Entity
        call: m3ter-external-mapping.listexternalmappingsform3terentity
        with:
          orgId: rest.orgId
          entity: rest.entity
          m3terId: rest.m3terId
          pageSize: rest.pageSize
          nextToken: rest.nextToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{orgid}/externalmappings/externalid/{system}/{externaltable}/{externalid}
      name: organizations-orgid-externalmappings-externalid-system-externaltable-externalid
      description: REST surface for organizations-orgId-externalmappings-externalid-system-externalTable-externalId.
      operations:
      - method: GET
        name: listexternalmappingsforexternalsystemandentity
        description: List External Mappings for External Entity
        call: m3ter-external-mapping.listexternalmappingsforexternalsystemandentity
        with:
          orgId: rest.orgId
          system: rest.system
          externalTable: rest.externalTable
          externalId: rest.externalId
          pageSize: rest.pageSize
          nextToken: rest.nextToken
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/organizations/{orgid}/externalmappings/{id}
      name: organizations-orgid-externalmappings-id
      description: REST surface for organizations-orgId-externalmappings-id.
      operations:
      - method: GET
        name: getexternalmapping
        description: Retrieve External Mapping
        call: m3ter-external-mapping.getexternalmapping
        with:
          orgId: rest.orgId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updateexternalmapping
        description: Update External Mapping
        call: m3ter-external-mapping.updateexternalmapping
        with:
          orgId: rest.orgId
          id: rest.id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deleteexternalmapping
        description: Delete an External Mapping
        call: m3ter-external-mapping.deleteexternalmapping
        with:
          orgId: rest.orgId
          id: rest.id
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: m3ter-external-mapping-mcp
    port: 9090
    transport: http
    description: MCP adapter for m3ter API — External Mapping. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: retrieve-external-mapping-configuration
      description: Retrieve External Mapping Configuration
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: m3ter-external-mapping.getexternalmappingconfiguration
      with:
        orgId: tools.orgId
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-external-entities-destination
      description: Retrieve External Entities from Destination
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: m3ter-external-mapping.getexternalmappingoptionsfordestination
      with:
        orgId: tools.orgId
        destination: tools.destination
        entityType: tools.entityType
        externalTable: tools.externalTable
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-list-external-entities-destination
      description: Retrieve a list of external entities from the destination system for a particular credential
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: m3ter-external-mapping.getexternalmappingoptionsfordestinationforcredentialsid
      with:
        orgId: tools.orgId
        destination: tools.destination
        entityType: tools.entityType
        integrationCredentialsId: tools.integrationCredentialsId
        externalTable: tools.externalTable
      outputParameters:
      - type: object
        mapping: $.
    - name: list-external-mappings
      description: List External Mappings
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: m3ter-external-mapping.listexternalmappings
      with:
        orgId: tools.orgId
        pageSize: tools.pageSize
        nextToken: tools.nextToken
        externalSystemId: tools.externalSystemId
        m3terIds: tools.m3terIds
        integrationConfigId: tools.integrationConfigId
      outputParameters:
      - type: object
        mapping: $.
    - name: create-external-mapping
      description: Create an External Mapping
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: m3ter-external-mapping.createexternalmapping
      with:
        orgId: tools.orgId
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: list-external-mappings-m3ter-entity
      description: List External Mappings for a m3ter Entity
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: m3ter-external-mapping.listexternalmappingsform3terentity
      with:
        orgId: tools.orgId
        entity: tools.entity
        m3terId: tools.m3terId
        pageSize: tools.pageSize
        nextToken: tools.nextToken
      outputParameters:
      - type: object
        mapping: $.
    - name: list-external-mappings-external-entity
      description: List External Mappings for External Entity
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: m3ter-external-mapping.listexternalmappingsforexternalsystemandentity
      with:
        orgId: tools.orgId
        system: tools.system
        externalTable: tools.externalTable
        externalId: tools.externalId
        pageSize: tools.pageSize
        nextToken: tools.nextToken
      outputParameters:
      - type: object
        mapping: $.
    - name: retrieve-external-mapping
      description: Retrieve External Mapping
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: m3ter-external-mapping.getexternalmapping
      with:
        orgId: tools.orgId
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.
    - name: update-external-mapping
      description: Update External Mapping
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: m3ter-external-mapping.updateexternalmapping
      with:
        orgId: tools.orgId
        id: tools.id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-external-mapping
      description: Delete an External Mapping
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: m3ter-external-mapping.deleteexternalmapping
      with:
        orgId: tools.orgId
        id: tools.id
      outputParameters:
      - type: object
        mapping: $.