GoodMemGoodMem
ReferenceAPIREST APIService Identities

Update a service identity

PUT /v1/service-identities/{id}: Updates only fields present in the request. Empty description clears that optional field. Ownership changes use the dedicated transfer endpoint.

Updates only fields present in the request. Empty description clears that optional field. Ownership changes use the dedicated transfer endpoint.

PUT
/v1/service-identities/{id}
x-api-key<token>

In: header

Path Parameters

idstring

Service-identity UUID

Header Parameters

GoodMem-Timeout-Ms?integer

Optional waiting budget in milliseconds, measured from REST servlet ingress and shared across all internal gRPC calls. Supply one decimal integer from 1 to 86400000. Omission adds no deadline. Existing shorter deadlines still apply. Expiry returns HTTP 504 before streaming starts; after streaming starts, no successful completion event is sent. Use SSE or opt into GoodMem-Stream-Terminal for an explicit terminal outcome. Retrieval work is cooperatively cancelled. An accepted mutation may still commit after timeout or disconnect; a failed response does not imply rollback.

Formatint64
Range1 <= value <= 86400000
displayNamestring | null

Replacement display name. A present blank value is invalid.

Example"production-search-v2"
Length1 <= length <= 255
descriptionstring | null

Replacement description. An empty string clears the description.

Example"Updated production workload"
replaceLabelsobject | null

Complete replacement label map; an empty map clears all labels and is mutually exclusive with mergeLabels. At most 20 entries; keys and values contain at most 255 characters; keys use [a-z0-9._-].

Example{"team":"platform"}
Propertiesproperties <= 20

Empty Object

mergeLabelsobject | null

Labels to upsert; must contain at least one entry and is mutually exclusive with replaceLabels. The final stored map may contain at most 20 entries; keys and values contain at most 255 characters; keys use [a-z0-9._-].

Example{"environment":"production"}
Properties1 <= properties <= 20

Empty Object

Response Body

curl -X PUT "https://your-goodmem-server.example.com/v1/service-identities/550e8400-e29b-41d4-a716-446655440000" \  -H "GoodMem-Timeout-Ms: 30000" \  -H "Content-Type: application/json" \  -d '{    "displayName": "production-search-v2"  }'
{
  "serviceIdentityId": "550e8400-e29b-41d4-a716-446655440000",
  "displayName": "production-search",
  "description": "string",
  "ownerPrincipalId": "c8b7819f-5f12-46fd-a2bb-632aece82193",
  "creatorPrincipalId": "9dd98014-def4-41d6-819d-7db1f82d4d60",
  "labels": {
    "environment": "production",
    "team": "search"
  },
  "deletedAt": 1620200000000,
  "deletedById": "8ef578ad-7f1e-4656-b48b-b1b4a9aaa1cb",
  "createdAt": 1620000000000,
  "updatedAt": 1620100000000,
  "createdById": "e13e432a-5323-4484-a91d-b5969bc564d9",
  "updatedById": "d8bc6076-4141-4a88-80b9-0eb31643066f"
}
Empty
Empty
Empty
Empty
Empty
Empty
Empty
Empty
Empty