> ## Documentation Index > Fetch the complete documentation index at: https://learn.servitly.com/llms.txt > Use this file to discover all available pages before exploring further. # Update a thing connection mapping > In case the connector mapping is inherited from the parent location, customer, or tenant, it is enough to set only the properties required for asset mapping or, alternatively, for the connection-token mapping (if the connection tokens are used).
For more details about the payload to set, refer to the AssetMapping, ConnectionTokenMapping, and ConnectionMapping objects declared within the schema section of this page.

Required permissions: READ_THING, WRITE_THING, READ_CONNECTION_MAPPING, WRITE_CONNECTION_MAPPING. ## OpenAPI ````json PUT /inventory/things/{thingId}/mapping { "openapi": "3.1.0", "info": { "title": "Servitly DPS API", "version": "1.0.0" }, "servers": [ { "url": "https://api.servitly-sandbox.com", "description": "[AWS SANDBOX]" }, { "url": "https://api.servitly.com", "description": "[AWS PRODUCTION Ireland]" }, { "url": "https://api-ap.servitly.com", "description": "[AWS Hong Kong]" }, { "url": "https://azapi.servitly-dev.com", "description": "[AZURE DEV Frankfurt]" }, { "url": "https://azapi.servitly-staging.com", "description": "[AZURE STAGING Frankfurt]" }, { "url": "https://azapi.servitly.com", "description": "[AZURE PRODUCTION Frankfurt]" } ], "security": [ { "bearerAuth": [] } ], "tags": [ { "name": "ACTIONS" }, { "name": "ALERTS" }, { "name": "API GATEWAY" }, { "name": "AUTHENTICATION" }, { "name": "AUTHORIZATIONS" }, { "name": "CUSTOMERS" }, { "name": "DATA IMPORT / EXPORT" }, { "name": "EVENTS" }, { "name": "LOCATIONS" }, { "name": "MAINTENANCE" }, { "name": "MAPPING" }, { "name": "METRIC DATA" }, { "name": "MOBILE APP" }, { "name": "ORGANIZATION" }, { "name": "PARTNERS" }, { "name": "PRODUCT MODELS" }, { "name": "SPARE PARTS" }, { "name": "STATISTICS" }, { "name": "STORE ORDERS" }, { "name": "SUBSCRIPTIONS" }, { "name": "SUBSCRIPTIONS (OLD)" }, { "name": "THING CONTROL" }, { "name": "THING DEFINITIONS" }, { "name": "THING MANAGEMENT" }, { "name": "THINGS" }, { "name": "TICKETS" }, { "name": "USER TYPES" }, { "name": "USERS" }, { "name": "WORK SESSIONS" } ], "paths": { "/inventory/things/{thingId}/mapping": { "put": { "summary": "Update a thing connection mapping", "description": "In case the connector mapping is inherited from the parent location, customer, or tenant, it is enough to set only the properties required for asset mapping or, alternatively, for the connection-token mapping (if the connection tokens are used).
For more details about the payload to set, refer to the AssetMapping, ConnectionTokenMapping, and ConnectionMapping objects declared within the schema section of this page.

Required permissions: READ_THING, WRITE_THING, READ_CONNECTION_MAPPING, WRITE_CONNECTION_MAPPING.", "tags": [ "MAPPING" ], "parameters": [ { "$ref": "#/components/parameters/tenantNameHeader" }, { "in": "path", "name": "thingId", "required": "true", "schema": { "$ref": "#/components/schemas/ObjectId" }, "description": "The thing identifier." } ], "requestBody": { "description": "The thing mapping being updated.", "required": "true", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ThingMapping" } } } }, "responses": { "200": { "description": "Successfully updated." }, "401": { "$ref": "#/components/responses/NotAuthenticated" }, "403": { "$ref": "#/components/responses/NotAuthorized" }, "404": { "$ref": "#/components/responses/NotFound" }, "429": { "$ref": "#/components/responses/ApiLimit" }, "500": { "$ref": "#/components/responses/IntError" } } } } }, "components": { "parameters": { "tenantNameHeader": { "in": "header", "name": "X-Servitly-Tenant", "required": "true", "schema": { "type": "string", "example": "{{tenantName}}" }, "description": "The name of the tenant (e.g. acme)." } }, "schemas": { "ObjectId": { "type": "string", "example": "abcd1234", "minimum": "1", "description": "The object identifier (e.g. 6620e4bb42541977c406b984)." }, "ThingMapping": { "allOf": [ { "$ref": "#/components/schemas/ConnectionMapping" }, { "$ref": "#/components/schemas/ConnectionTokenMapping" }, { "$ref": "#/components/schemas/AssetMapping" } ] }, "ConnectionMapping": { "type": "object", "properties": { "username": { "type": "string", "description": "The username required to establish the connection with the cloud." }, "password": { "type": "string", "description": "The password required to establish the connection with the cloud." }, "type": { "type": "string", "enum": [ "SEMIOTY_THING_CONNECTOR", "EDC", "LEMONBEAT", "AZURE_SERVICE_BUS", "ALLEANTIA" ] }, "payloadFormat": { "type": "string", "enum": [ "JSON" ], "description": "The payload format of the messages exchanged with the cloud (default JSON)." } } }, "ConnectionTokenMapping": { "type": "object", "properties": { "connectionToken": { "type": "string", "description": "The connection-token associated with the Thing (see the ConnectionToken/token property)." } } }, "AssetMapping": { "type": "object", "properties": { "assetId": { "type": "string", "description": "The asset-id (e.g. MAC address)." }, "path": { "type": "string", "description": "The optional mapping path." } } } }, "responses": { "NotAuthenticated": { "description": "User not authenticated.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "User not authenticated" } } } } } }, "NotAuthorized": { "description": "User not authorized.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "User not authorized" } } } } } }, "NotFound": { "description": "Resource was not found.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "Resource not found" } } } } } }, "ApiLimit": { "description": "API call rate limit exceeded.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "API call rate limit exceeded" } } } } } }, "IntError": { "description": "Internal server error.", "content": { "application/json": { "schema": { "type": "object", "properties": { "message": { "type": "string", "description": "The error response.", "example": "Internal Server Error" } } } } } } }, "securitySchemes": { "bearerAuth": { "type": "http", "scheme": "bearer" } } } } ````