# Set metadata for a transaction

Endpoint: POST /v2/transactions/{transaction_id}/metadata
Version: 2.0.1
Security: APIKey, OAuth2

## Path parameters:

  - `transaction_id` (string, required)

## Response 200 fields (application/json):

  - `buyer` (object)
    Example: {"id":"9097","is_guest":false}

  - `buyer.id` (string, required)

  - `buyer.is_guest` (boolean, required)

  - `cancellation` (object)

  - `cancellation.description` (string, required)

  - `client_id` (string, required)

  - `complaint` (object)

  - `complaint.accepted` (string)

  - `complaint.category` (string, required)
    Enum: "item_not_received", "item_not_as_described", "other"

  - `complaint.description` (string, required)

  - `contains_shipping` (boolean)

  - `deadlines` (object, required)
    This property contains all possible actions that have associated
deadlines for completion. Actions with `null` do not have deadlines
currently pending.

  - `deadlines.complaints` (string)

  - `description` (string, required)

  - `events` (object, required)

  - `events.by_key` (object, required)
    These fields indicate the time that the first instance of the given
event occurred. Where events can repeat (such as `refunded`),
duplicate instances can be retrieved from the `by_time` sibling
property.

  - `events.by_key.buyer_handover_confirmed` (string)

  - `events.by_key.cancelled` (string)

  - `events.by_key.claimed_by_buyer` (string)

  - `events.by_key.claimed_by_seller` (string)

  - `events.by_key.complaint_period_ended` (string)

  - `events.by_key.complaint_submitted` (string)

  - `events.by_key.created` (string, required)

  - `events.by_key.delivered` (string)

  - `events.by_key.funds_released` (string)

  - `events.by_key.joined` (string)

  - `events.by_key.order_issue_submitted` (string)

  - `events.by_key.paid` (string)

  - `events.by_key.payment_accepted` (string)

  - `events.by_key.refunded` (string)

  - `events.by_key.rejected` (string)

  - `events.by_key.review_flagged` (string)

  - `events.by_key.seller_handover_confirmed` (string)

  - `events.by_key.tracked` (string)

  - `events.by_time` (array, required)

  - `events.by_time.at` (string, required)

  - `events.by_time.by` (string)
    This contains the ID of the user that triggered this event. It
is not present for events that are triggered by the platform,
such as by automated systems.

  - `events.by_time.code` (string, required)

  - `funds_release` (object)

  - `funds_release.payout_id` (string)

  - `funds_release.refunds` (array, required)

  - `funds_release.refunds.amount` (integer, required)

  - `funds_release.refunds.id` (string, required)

  - `funds_release.released_to_seller` (boolean, required)

  - `id` (string, required)

  - `join_code` (string)

  - `order_issue` (object)

  - `order_issue.category` (string, required)
    Enum: "item_not_received", "other"

  - `order_issue.description` (string, required)

  - `payment_link` (string)
    URL to the actions page where the buyer can pay the deposit.

  - `pricing` (object, required)

  - `pricing.amount` (integer, required)

  - `pricing.amount_extra` (integer, required)
    Represents an additional charge to be paid by the buyer added
to the transaction total. Use this field to include costs like
processing fees or local taxes.
Must be an integer provided in the smallest unit of the currency
(for example, 500 for $5.00 USD). Defaults to 0 if not provided.

  - `pricing.amount_postage` (integer)
    Represents an additional charge to be paid by the buyer, seller or client.
Use this field to include costs like shipping surcharges.
Must be an integer provided in the smallest unit of the currency
(for example, 500 for $5.00 USD).

  - `pricing.currency` (string, required)
    The currency of the transaction. Note that, at present, the
buyer must pay using the transaction's currency and the
seller will be paid in the transaction's currency. Conversion to this
currency will happen automatically during payment if the buyer pays
with a different currency.

  - `pricing.fees` (object, required)

  - `pricing.fees.buyer` (integer, required)

  - `pricing.fees.buyer_client` (integer, required)

  - `pricing.fees.international_payment` (integer)

  - `pricing.fees.seller` (integer, required)

  - `pricing.fees.seller_client` (integer, required)

  - `pricing.postage_bearer` (string)
    Indicates who is responsible for paying the postage amount.
Only present if `amount_postage` is provided.
    Enum: "buyer", "seller", "client"

  - `review` (object)

  - `review.approved` (boolean, required)

  - `review.outcome_reason` (string, required)

  - `status` (string, required)
    Enum: "created", "joined", "rejected", "cancelled", "paid", "review_flagged", "payment_accepted", "complaint_submitted", "complaint_period_ended", "refunded", "tracked", "delivered", "funds_released", "claimed_by_buyer", "claimed_by_seller"

  - `tracking` (object)

  - `tracking.carrier` (string, required)

  - `tracking.tracking_code` (string, required)

## Response 400 fields (application/json):

  - `code` (string, required)
    Enum: "too_many_keys", "value_too_long", "key_too_long", "empty_json", "unsupported_type"

  - `message` (string, required)

