Updates:
- This change was deployed on Nov. 2, 2012 with additional fields announced here: More changes to withheld content fields.
- The original post was modified to reflect that one account's Tweets are affected, not one Tweet.
This is a notice that the withheld_in_countries field
will be changing its JSON representation from what was
originally announced.
This field was documented as a comma-separated JSON string.
We will update our REST and streaming Tweet objects to use an array
of uppercase strings, as we believe this is more developer friendly.
Only Tweets from one account (as of this date) are affected, so while this is a breaking
change, it is not a widely disruptive one.
To illustrate this change, the following example from the announcement:
"text": "@chatty's account is withheld in: Greece, Hong Kong, Malaysia,.",
"withheld_scope": "user",
"withheld_in_countries": "GR, HK, MY",
Will now look like this:
"text": "@chatty's account is withheld in: Greece, Hong Kong, Malaysia,.",
"withheld_scope": "user",
"withheld_in_countries": ["GR", "HK", "MY"],
This change unifies the REST API response with the
status_withheld streaming event message, which will now look
like:
{"status_withheld":{
"id":1234567890,
"user_id":123456,
"withheld_in_countries":["DE", "AR"]
}}
Note that we will be delivering the country codes as uppercase in
all locations now: REST Tweet responses, streamed Tweet objects, and
streamed status_withheld events. Therefore, this
change affects REST API versions 1 and 1.1, as well as Streaming
API versions 1 and 1.1. Keep in mind that this is only a change to the JSON
representation. The (deprecated) XML representation of this
field will not change.
We expect this change to ship next week. This post will be updated to reflect the current status.
Please use this discussion thread to ask questions or leave feedback about this change.


