Skip to main content
PUT
/
core
/
{entity}
/
{entityId}
/
metadata
Set metadata
curl --request PUT \
  --url https://api.enterprise.sandbox.uphold.com/core/{entity}/{entityId}/metadata \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "externalId": 123
}
'
{
"metadata": {
"externalId": 123
}
}
Set metadata creates or updates custom metadata for a given entity. This endpoint follows idempotent PUT semantics:
  • Create: Returns 201 Created if metadata doesn’t exist
  • Replace: Returns 204 No Content if metadata already exists
The response includes an ETag header representing the version of the metadata, which can be used with If-Match or If-None-Match headers for conditional requests to prevent concurrent update conflicts.
Each PUT request replaces the entire metadata object. Make sure to include all properties you want to retain.

Authorizations

Authorization
string
header
required

OAuth 2.0 authentication.

Headers

If-Match
string

Ensures conditional update by matching the current metadata revision.

If-None-Match
enum<string>

Prevents upsert operation if there is an existing metadata revision.

Available options:
*

Path Parameters

entity
enum<string>
required

The type of entity whose metadata is being accessed.

Available options:
accounts,
external-accounts,
files,
transactions,
users
entityId
string
required

The unique identifier of the entity whose metadata is being accessed.

Body

application/json

The body is of type object.

Response

Metadata created.

metadata
object
required