This API allows editing a contact from the MPC. The Address cannot be edited, only the Name can be changed
Notes:
Currencies: Can be edited only if the list contains currencies of the same EVM-family
AuthorizationType: validation of correct value should happen in both client and server sides
Request Example:
.. code-block::
editContact(
contact_id="1:0xbebd0bdD4820Cb0ddc2E83b68A5C68DFbA093",
contact_name="Nika",
address_group_ids=["123"],
authorization_type=1,
request_extra_data={
"MessageNumber": 5,
"SessionId": "3478593863424051983840947"
}
)
Response Example:
.. code-block::
{
"FunctionData": {
"StatusCode": 0,
"StatusCodeDescription": "Contact edited successfully"
},
"Meta": {
"AccessToken": "2911...9a7",
"Destination": "04bc...9e2",
"Source": "3dcf...ba4",
"Time": "2025-05-22 17:00:44.605"
}
}
Error Responses
| Error Type | Http Code | GK8 error code | Reason / Description | Example Response |
|---|
| Backend Response | 400 | 1 | Unknown contact | "StatusCode": 1 |
| Backend Response | 400 | 2 | Unknown address group | "StatusCode": 2, "AddressGroupIds": ["123"] |
| Backend Response | 400 | 3 | At most one address group per contact is supported (DEPRECATED in V13) | "StatusCode": 3 |
| Backend Response | 400 | 4 | Unknown authorization type | "StatusCode": 4 |
| Backend Response | 400 | 5 | Adding contact to address group leads to overlapping settings in two policies | "StatusCode": 5, "AddressGroupId": "3", "PolicyIds": ["123", "456"] |
| Backend Response | 400 | 6 | Invalid name | "StatusCode": 6 |
| Backend Response | 400 | 7 | System generated contact cannot be edited | "StatusCode": 7 |
| Backend Response | 400 | 8 | Smart contract contacts cannot be authorized as internal addresses | "StatusCode": 8 |
| Backend Response | 400 | 9 | Adding a contact to all contacts address group is not allowed | "StatusCode": 9 |
| Backend Response | 400 | 10 | Address group does not match contact type | "StatusCode": 10, "AddressGroupId": "3" |
| Backend Response | 400 | 11 | Contact already exists | "StatusCode": 11, "Currency": "ETH", "Name": "USD Coin" |
contact_idstring<p>the id of the contact - ids of existing contacts can be retrieved by running getAllContacts API.</p>
contact_namestringthe name the contact.
address_group_idsarraythe ids of the address groups the contact will be assigned to.
authorization_typestring<p>the contact authorization type, internal or authorized. Defined in apiclient/MpcDriven/Contact.py.</p>
request_extra_dataobjectadditional data for the administrative request
acceptstringGenerated from available response content types
200success
curl --request POST \
--url '/editContact?contact_id=contact_ID&contact_name=contact%20name&address_group_ids=array&authorization_type=INTERNAL&request_extra_data=%22None%20yet.%22' \
--header 'accept: application/json' \
--header 'content-type: application/json' \
--data '{
"FunctionData": {
"Id": "1:0xbebd0bdD4820Cb0ddc2E83b68A5C68DFbA093",
"Name": "contact name",
"AuthorizationType": 1,
"RequestExtraData": {
"MessageNumber": 5,
"SessionId": "3478593863424051983840947"
}
},
"Meta": {
"FunctionName": "editContact",
"RandomData": "288cd49d4b8bf00e7d6114b78d5668d5581d6b953fafef779133caa844cd4229",
"Destination": "b9cb8afe52f1d52521cf2b62dfe12146156ad5328f83c62c20c7da81b263356a61340de745c858998544c041798b01c2f4fac31bebe52a19280a32cd57d6d374ea",
"Time": "2021-02-07T18:37:46.948Z",
"Source": "048b99461a70a49abe63fd585cb224177a22a92d2e9e4ddfbc0027887bee9d1843388f42a3eb2e740565e115ad8b7981abf59e3b03b771f4b063b53c517d7a9d99",
"AccessToken": "51311c84d2c8fd2fafbe56ceb1fb30a99d3417abfc55769577338ab286798087"
}
}'