Read transactions and comments for an object.
transaction.search
API Method: transaction.search
- Returns
- list<dict>
- Errors
- ERR-CONDUIT-CORE: See error message for details.
- OAuth Scope
- OAuth clients may never call this method.
Method Details
When an object (like a task) is edited, Phabricator creates a "transaction" and applies it. This list of transactions on each object is the basis for essentially all edits and comments in Phabricator. Reviewing the transaction record allows you to see who edited an object, when, and how their edit changed things.
One common reason to call this method is that you're implmenting a webhook and just received a notification that an object has changed. See the Webhooks documentation for more detailed discussion of this use case.
Constraints
These constraints are supported:
- phids Optional list<phid>. Find specific transactions by PHID. This is most likely to be useful if you're responding to a webhook notification and want to inspect only the related events.
- authorPHIDs Optional list<phid>. Find transactions with particular authors.
Transaction Format
Each transaction has custom data describing what the transaction did. The format varies from transaction to transaction. The easiest way to figure out exactly what a particular transaction looks like is to make the associated kind of edit to a test object, then query that object.
Not all transactions have data: by default, transactions have a null "type" and no additional data. This API does not expose raw transaction data because some of it is internal, oddly named, misspelled, confusing, not useful, or could create security or policy problems to expose directly.
New transactions are exposed (with correctly spelled, comprehensible types and useful, reasonable fields) as we become aware of use cases for them.
Call Method
Examples
- Use the Conduit API Tokens panel in Settings to generate or manage API tokens.
- If you submit parameters, these examples will update to show exactly how to encode the parameters you submit.
-d api.token=api-token \
-d param=value \
...