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: $.