> ## Documentation Index
> Fetch the complete documentation index at: https://docs.plainid.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Update Identity Source ID

> Update the ID of a specific Identity Source for an Identity Template in the indicated Environment. This API call is designed to support UPDATE operations for Identity Source IDs only. Only the sourceId field can be modified using this endpoint. <br> <br>
<h2>Notice</h2>Accessing the API call is through a dedicated domain/URL, according to your PlainID Tenant Location<li><b>United States (US)</b> - `https://api.us1.plainid.io`</li><li><b>Canada (CA)</b> - `https://api.ca1.plainid.io`</li><li><b>Europe (EU)</b> - `https://api.eu1.plainid.io`</li> <br> <h2>Using HTML Encoded Special Characters</h2> <p>Use HTML encoded patterns when working with values that contain special characters like spaces, dashes, etc. Refer to this <a href="https://www.w3schools.com/tags/ref_urlencode.ASP" target="_blank">HTML URL Encoding Reference</a> for a full list.</p> <br> <h2>Important note about headers</h2> <p>Refer to the headers below to modify your cURL sample. Check if the following headers are in the sample, if not, ensure you add it to your API tool. </p> <h3>Headers</h3> *Required <table><thead> <tr> <th>Header</th> <th>Value</th> <th>cURL Line</th> </tr></thead> <tbody> <tr> <td>Accept</td> <td>`application/json`</td> <td> `-H "Accept:application/json"`</td> </tr> <tr> <td>Content-Type</td> <td>`application/json`</td> <td> `-H "Content-Type:application/json"`</td> </tr> </tbody> </table> <br>
<h3>cURL Sample Guidelines</h3> <p>In order for the relevant parameters to appear in the cURL sample, you can input the values in the interactive API console on the right in the Try It or Code Sample tabs. You can then copy the cURL sample from the Code Sample tab in the correct format.</p>

## OpenAPI

````json PATCH /api/1.0/identity-templates/{envId}/{identityTemplateId}/identity-sources/{identitySourceId}
{
  "openapi": "3.0.3",
  "info": {
    "title": "Management APIs",
    "version": "1.0.0",
    "contact": {
      "name": "PlainID",
      "url": "https://plainid.com",
      "email": "contact@plainid.com"
    },
    "license": {
      "name": "Commercial",
      "url": "https://plainid.com/license"
    },
    "termsOfService": "https://www.plainid.com/terms/",
    "description": "<h3>The PlainID Authorization Platform provides Management capabilities through the APIs below.</h3><h4> To access the Management APIs, make sure to enter your dedicated domain according to your PlainID Tenant Location:<table><thead><tr><th>Region</th><th>Base URL</th></tr></thead><tbody><tr><td>United States (US)</td><td>https://api.us1.plainid.io</td></tr><tr><td>Canada (CA)</td><td>https://api.ca1.plainid.io</td></tr><tr><td>Europe (EU)</td><td>https://api.eu1.plainid.io</td></tr><tr><td>Local PAA</td><td>https://api.plainid.local</td></tr></tbody></table>"
  },
  "servers": [
    {
      "description": "United States",
      "url": "https://api.us1.plainid.io"
    },
    {
      "description": "Europe",
      "url": "https://api.eu1.plainid.io"
    },
    {
      "description": "Canada",
      "url": "https://api.ca1.plainid.io"
    },
    {
      "description": "Local PAA",
      "url": "https://api.plainid.local"
    }
  ],
  "paths": {
    "/api/1.0/identity-templates/{envId}/{identityTemplateId}/identity-sources/{identitySourceId}": {
      "patch": {
        "summary": "Update Identity Source ID",
        "operationId": "updateIdentitySourceID",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "description": "Update the ID of a specific Identity Source for an Identity Template in the indicated Environment. This API call is designed to support UPDATE operations for Identity Source IDs only. Only the sourceId field can be modified using this endpoint. <br> <br>\n<h2>Notice</h2>Accessing the API call is through a dedicated domain/URL, according to your PlainID Tenant Location<li><b>United States (US)</b> - `https://api.us1.plainid.io`</li><li><b>Canada (CA)</b> - `https://api.ca1.plainid.io`</li><li><b>Europe (EU)</b> - `https://api.eu1.plainid.io`</li> <br> <h2>Using HTML Encoded Special Characters</h2> <p>Use HTML encoded patterns when working with values that contain special characters like spaces, dashes, etc. Refer to this <a href=\"https://www.w3schools.com/tags/ref_urlencode.ASP\" target=\"_blank\">HTML URL Encoding Reference</a> for a full list.</p> <br> <h2>Important note about headers</h2> <p>Refer to the headers below to modify your cURL sample. Check if the following headers are in the sample, if not, ensure you add it to your API tool. </p> <h3>Headers</h3> *Required <table><thead> <tr> <th>Header</th> <th>Value</th> <th>cURL Line</th> </tr></thead> <tbody> <tr> <td>Accept</td> <td>`application/json`</td> <td> `-H \"Accept:application/json\"`</td> </tr> <tr> <td>Content-Type</td> <td>`application/json`</td> <td> `-H \"Content-Type:application/json\"`</td> </tr> </tbody> </table> <br>\n<h3>cURL Sample Guidelines</h3> <p>In order for the relevant parameters to appear in the cURL sample, you can input the values in the interactive API console on the right in the Try It or Code Sample tabs. You can then copy the cURL sample from the Code Sample tab in the correct format.</p>",
        "tags": [
          "Identity Sources"
        ],
        "parameters": [
          {
            "name": "envId",
            "in": "path",
            "required": "true",
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "description": "The Environment ID can be found under the Details Tab in the Environment Settings."
          },
          {
            "name": "identityTemplateId",
            "in": "path",
            "required": "true",
            "schema": {
              "type": "string"
            },
            "description": "The Identity Template ID. This can be found in the Details tab in the Identity Workspace Settings."
          },
          {
            "name": "identitySourceId",
            "in": "path",
            "required": "true",
            "schema": {
              "type": "string"
            },
            "description": "The Identity Source ID"
          }
        ],
        "requestBody": {
          "description": "Fields to patch in the Identity Source. Only sourceId can be updated.",
          "required": "true",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IdentitySourcePatch"
              },
              "examples": {
                "example": {
                  "value": [
                    {
                      "op": "replace",
                      "path": "/sourceId",
                      "value": "ds_users_updated"
                    }
                  ]
                }
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Successful operation",
            "headers": {
              "x-request-id": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                },
                "description": "The ID of the request"
              }
            }
          },
          "400": {
            "description": "Validation Error",
            "headers": {
              "x-request-id": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                },
                "description": "The ID of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "uneditableSourceFieldError": {
                    "$ref": "#/components/examples/UnimportableSourceTypeError"
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "headers": {
              "x-request-id": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                },
                "description": "The ID of the request"
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "headers": {
              "x-request-id": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                },
                "description": "The ID of the request"
              }
            }
          },
          "404": {
            "description": "Object not found",
            "headers": {
              "x-request-id": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                },
                "description": "The ID of the request"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                },
                "examples": {
                  "environmentNotFoundError": {
                    "$ref": "#/components/examples/EnvironmentNotFoundError"
                  },
                  "identityTemplateNotFoundError": {
                    "$ref": "#/components/examples/identityTemplateNotFound"
                  },
                  "identitySourceNotFoundError": {
                    "$ref": "#/components/examples/IdentitySourceNotFoundError"
                  }
                }
              }
            }
          },
          "422": {
            "description": "Payload Validation Error",
            "headers": {
              "x-request-id": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                },
                "description": "The ID of the request"
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "headers": {
              "x-request-id": {
                "schema": {
                  "type": "string",
                  "format": "uuid"
                },
                "description": "The ID of the request"
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "IdentitySourcePatch": {
        "type": "array",
        "description": "Identity Source patch - only supports updating source ID",
        "items": {
          "type": "object",
          "properties": {
            "op": {
              "type": "string",
              "enum": [
                "replace"
              ]
            },
            "path": {
              "type": "string",
              "enum": [
                "/sourceId"
              ],
              "description": "Only sourceId can be updated"
            },
            "value": {
              "type": "string",
              "description": "New source ID value"
            }
          },
          "required": [
            "op",
            "path",
            "value"
          ]
        }
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "details": {
            "type": "string"
          }
        }
      }
    },
    "examples": {
      "UnimportableSourceTypeError": {
        "value": {
          "errors": [
            {
              "code": "EMIS-001",
              "id": "EQ7CMX",
              "status": "400",
              "name": "UnimportableSourceTypeError",
              "message": "Cannot import or modify source of unimportable type: [REQUEST_INPUT]"
            }
          ]
        }
      },
      "EnvironmentNotFoundError": {
        "value": {
          "errors": [
            {
              "code": "EMIT-003",
              "id": "EQ7CMX",
              "status": "404",
              "name": "EnvironmentNotFoundError",
              "message": "Environment: [2d4a0591-dfe4-45fb-8a69-d183f5c75c0d] doesn't exist"
            }
          ]
        }
      },
      "identityTemplateNotFound": {
        "value": {
          "errors": [
            {
              "code": "EMIT-002",
              "id": "EQ7CMX",
              "status": "404",
              "name": "IdentityTemplateNotFoundError",
              "message": "Identity Template: [User1] not found in Environment: [848aa1dd-3516-4dbe-b1bb-c32454302dc4], Hint: did you mean [User, Target]"
            }
          ]
        }
      },
      "IdentitySourceNotFoundError": {
        "value": {
          "errors": [
            {
              "code": "EMIS-007",
              "id": "EQ7CMX",
              "status": "404",
              "name": "IdentityTemplateEntityNotFoundError",
              "message": "Identity Source: [CALC] not found, Hint: did you mean: [REQUEST_INPUT, CALC0, ACCS-EXTERNAL]"
            }
          ]
        }
      }
    }
  }
}
````

